【问题标题】:How to use ellipsis in for command line argument?如何在命令行参数中使用省略号?
【发布时间】:2014-09-06 08:04:18
【问题描述】:

我刚刚学到了两件事- 1) 如何在 JAVA 中使用省略号,即如何为函数定义可变长度参数列表。 以下是演示上述概念的程序。

public class variable
{
    public static void main(String[] args)
    {
        int d1=2;
        int d2=3;
        int d3=4;
        int d4=5;
        System.out.print(average(d1,d2,d3));
        System.out.print(average(d1,d2));
        System.out.print(average(d1,d2,d3,d4));
    }
    public static int average(int... numbers)
    {
        int total=0;
        for(int i:numbers)
        {
            total+=i;
        }
        return total/numbers.length;
    }
}

2) 如何使用命令行参数。下面是一个使用这个概念的程序-

public class argument
{
    public static void main(String[] args)
    {
        if(args.length!=3)
        {
            System.out.println("Please provide valid 3 inputs to add them all");    
        }
        else
        {
            int first = Integer.parseInt(args[0]);
            int second = Integer.parseInt(args[1]);
            int third = Integer.parseInt(args[2]);
            System.out.println((first+second+third));
        }
    }
}

现在...我的问题是如何在我想通过命令行提供输入的程序中使用省略号?

假设我想通过命令行参数将 3 个数字相加,但我的朋友想将 5 个数字相加。如何使用省略号来满足我和我朋友的要求?

【问题讨论】:

标签: java arrays command-line-arguments


【解决方案1】:
click on run menu > run configuration > arguments > program arguments

在这里设置参数

【讨论】:

  • 对不起,我不明白。
  • 对不起..我对编程比较陌生
【解决方案2】:

单击“运行”菜单,然后单击“运行配置...”,然后单击“参数”选项卡。 只需在此处插入 5 个数字

之后只需修改您的代码,以便从 args[] 读取所有五个输入

在您的代码中,您可以使用返回长度的 args.length 检查输入的长度。

之后执行这样的 for 循环:

    int totalSum = 0;
    for(int i = 0; i < args.length; i++){
       totalSum = totalSum + args[i];
    }
    System.out.printline(totalSum);

这将接受任何长度的输入并将它们相加。

【讨论】:

    【解决方案3】:

    您不需要可变参数来执行此操作。由于args 参数已经是一个数组,所以我们从数组的角度来考虑这个问题。这些是您完成所需的步骤:

    1. 将 String 数组转换为 int 数组。

    2. 将 int 数组中的数字相加。

    我建议您尝试弄清楚如何执行这些操作。如果您在此过程中遇到具体问题,请回来提出更多问题。

    【讨论】:

    • 我故意用了省略号这个词……这三个点是省略号,我想你们把它误认为是日食。你所说的对我没有帮助,因为我正在使用命令提示符来执行我的程序。我想提供参数作为命令行参数。数组跟它有什么关系?
    • @VishalKhare 您将“eclipse”放在问题的标题中。
    • @VishalKhare 我没有这样的误解。您所指的省略号是程序员所说的varargs。我的建议是在担心可变参数之前先了解数组,因为它们非常接近同一事物。事实上,正如您目前所拥有的那样,命令行参数被声明为一个数组:String[] args
    猜你喜欢
    • 2013-06-27
    • 1970-01-01
    • 2011-03-09
    • 2019-09-10
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 2015-01-01
    相关资源
    最近更新 更多