如何从main方法显示命令行参数

问题描述 投票:0回答:2

我觉得我找出了困难的部分并且我可以让程序工作,如果我在main中有所有东西但是我仍在努力解决方法,我的指示是:写一个名为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
java methods command-line parameter-passing
2个回答
0
投票

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

你会得到理想的结果:

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


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编译:javac A.java运行:java A 10 20 3040 * /

© www.soinside.com 2019 - 2024. All rights reserved.