【问题标题】:How can I create a variable length argument with user input?如何使用用户输入创建可变长度参数?
【发布时间】:2018-06-01 00:17:15
【问题描述】:

如何仅使用用户输入来创建可变长度参数?我希望用户能够自己输入 2 种不同类型的数据。我怎样才能做到这一点?我已经理解并理解了这部分,但我不确定如何更改它,以便用户从命令行输入。这是我从网上找到的示例代码。我还没有修改我的代码,但这就是我所知道的。

public static void main(String [] args){
System.out.println(average(43,546,76,8));
}

public static int average(int ... numbers){

    int total = 0; 
    for(int x: numbers); 
    total =+x; 
    return total/numbers.length; 
}

【问题讨论】:

  • 这里不是很清楚你在问什么,但通常你的 main 会将标准作为一堆字符串,你会根据你的要求对这些字符串进行按摩和验证。如果数据存在问题并显示消息,否则,将消息传递到适当的方法,并处理结果以显示或报告。在这种情况下,如果您想从命令行获取整数,您将必须验证并将“43”之类的字符串转换为 43 的 int 值,然后将它和它的朋友传递给适当的方法。
  • 将问题分解为多个部分:如何获取和解析命令行参数?这些 args 是什么样的?你如何把这些变成你需要的数据?尝试一下,当您有具体问题时再回来。起点:stackoverflow.com/q/5585779/1531971

标签: java variables command-line-arguments


【解决方案1】:

如果我有打印所有命令行参数的 main 方法。

 public static void main(String[] args)
  {
    for(int i=0;i< args.length;i++)
    {
    System.out.println(args[i]);
    }
  }

当我执行具有 main 方法的编译类时,这将打印 43 546 76 8,并从命令行传递参数为:

java mainClass 43 546 76 8

因此您可以使用 args 数组以您需要的方式将输入传递给您的方法。

【讨论】:

    【解决方案2】:

    命令行参数将被传递到您的 main 方法中的 args 参数。使用Integer.parseInt() 将其转换为int。 如果您想在运行时获取用户输入,请查看 Scanner 类。

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-07
      • 2014-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多