【问题标题】:return parameters from command line program从命令行程序返回参数
【发布时间】:2017-09-12 19:58:11
【问题描述】:

我试图在 java 中通过命令行传递一个字符串,但它只返回第一个值,即args[0]

以下是我所做的

public class CommandLine
{
    public static void main(String[] args)
    {
        int i;
        i = args[0].length(); //throws error here if args.length();
        System.out.println(i); //checking length, return with args[0] only
         while(i>0)
        {
            System.out.println(args[0]);
            i++;
        } 
    }
}

我应该怎么做才能改进它并使其正常工作?

【问题讨论】:

  • 嗯,你的循环特别说args[0],所以我猜它正在按照你的指示做。但是while(i > 0) 和i++ 听起来不太对...
  • 是的,我很清楚这一点,我添加了这部分代码只是因为 args.length(); 让我听起来很愚蠢并且效果不佳。

标签: java command-line command-line-interface command-line-arguments


【解决方案1】:

这里有几件事需要解决

  1. 在您的逻辑命令行参数长度采用错误的方式。

  2. 循环条件不符合您的要求,而且它是一个无限循环或永无止境的循环,会降低代码的性能。永远不要在代码中使用无限循环。

3.您每次在循环内都打印相同的索引,即 args[0]。

代码:

public static void main(String[] args)
    {
        int i=0;
        int len = args.length;   //use length only in this case;
        System.out.println(len); // this will return it properly now
        while(i<len)
        {
            System.out.println(args[i]);
            i++;
        } 
    }

【讨论】:

    猜你喜欢
    • 2011-07-13
    • 2016-02-09
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    相关资源
    最近更新 更多