*作业
在程序中,我应该使用命令行参数并添加整数。
示例:
java class -add 10 2 4
16
我有以下代码,但是对于顶部示例,它只输出0.我做错了什么?
private static void add(String[] args) {
int[] add = new int[args.length];
int sum = 0;
for (int i = 1; i < add.length; i++) {
sum += add[i];
}
System.out.println(sum);
}
答案 0 :(得分:0)
这应该有用。
class A {
public static void main(String[] args) {
add(args);
}
public static void add(String[] args) {
int[] add = new int[args.length];
int sum = 0;
for (int i = 1; i < add.length; i++) {
// Add this line
add[i] = Integer.parseInt(args[i]);
sum += add[i];
}
System.out.println(sum);
}
}
or
class A {
public static void main(String[] args) {
add(args);
}
public static void add(String[] args) {
int sum = 0;
for (int i = 0; i < args.length; i++) {
sum += Integer.parseInt(args[i]);
}
System.out.println(sum);
}
}
答案 1 :(得分:0)
你忘了在整数数组中添加任何东西;你只是在初始化它并陈述它的长度。
private static void add(String[] args)
String[] add = args;//actually set it equal to the args array, so it has all of the same values.
int sum = 0;
for(int i = 1; i < add.length; i++){
sum += Integer.parseInt(add[i]);
}
System.out.println(sum);
}
甚至更简单:
private static void add(String[] args)
int sum = 0;
for(int i = 1; i < args.length; i++){
sum += Integer.parseInt(args[i]);//simply use the passed array.
}
System.out.println(sum);
}
答案 2 :(得分:-1)
让我们检查你的代码!
public static void add(String[] args) {
// initializing a new integer array of size args.length
// Well every new int array has its values on 0, so sum over all 0 is 0
// that's not really surprising
int[] add = new int[args.length];
// something is missing in here!
for (int j = 0; j < args.length; j++) {
add[j] = Integer.parseInt(args[j]);
}
// missing end
int sum = 0;
for (int i = 1; i < add.length; i++) {
sum += add[i];
}
System.out.println(sum);
}
所以如果没有其他错误。这应该做到。