使用CLI Parser在数组中添加整数

时间:2014-10-05 21:05:52

标签: java

*作业

在程序中,我应该使用命令行参数并添加整数。

示例:

  

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);
}

3 个答案:

答案 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);
}

所以如果没有其他错误。这应该做到。