如何从main方法

时间:2015-09-12 19:31:09

标签: java methods command-line parameter-passing

我觉得我想出了困难的部分,如果我拥有 main 中的所有内容,我可以使程序正常工作但是我仍然在使用方法,我的指示是:<​​strong>写一个名为sumInts的方法,它可以获取可变数量的int参数并返回这些参数的总和。要汇总的整数必须作为命令行参数输入。可以在Eclipse中模拟命令行参数。在main方法中,显示在命令行中输入的整数。然后执行sumInts并显示它返回的总和。

我不能为我的生活弄清楚我应该如何调用我的方法打印出我的命令行总和以下是我的代码。

public class CommandLineSum {

    public static void main(String[] args) {

        System.out.println("# of command line args: " + args.length);

        System.out.print("Command line args in order: ");

        for (int i = 0; i < args.length; i++) {
            System.out.print(args[i] + " ");

        }

        System.out.println("\nThe sum is: ");

    }

    public static int sumInts(String[] args) {
        int sum = 0;

        for (int i = 0; i < args.length; i++) {
            sum += Integer.parseInt(args[i]);
        }
        return sum;

    }
}

我的输出是:

# of command line args: 9
Command line args in order: 1 2 3 4 5 6 7 8 9
The sum is:

我需要它:

# of command line args: 9
Command line args in order: 1 2 3 4 5 6 7 8 9
The sum is: 45

2 个答案:

答案 0 :(得分:0)

您必须从main()调用方法sumInts()。将args作为参数传递。

你会得到理想的结果:

  

System.out.println(“\ n总和是:”+ sumInts(args));

答案 1 :(得分:0)

class A
{
    public static void main(String args[])
    { 
      A obj = new A(); // creating object
      obj.sumInts(args); // calling function
    }

    public static void sumInts(String[] arr) {
        int sum = 0;
        String outputString="";
        for (int i = 0; i < arr.length; i++) {

            outputString  = outputString+arr[i];

            if(i !=arr.length-1){
                outputString = outputString+", ";
            }
            sum += Integer.parseInt(arr[i]);
        }

        System.out.println("Passing ["+outputString+"]");
        System.out.println("Sum  is "+sum);
    } 
}

/ *

另存为 A.java 编译:j avac A.java 运行: java A 10 20 3040 * /