命令行参数未被正确识别

时间:2013-11-04 20:40:35

标签: java string command-line-arguments

在我的程序中,我试图根据String args [0]的值来循环特定的动作。我有一个条件树设置,但无论args [0]是什么,它总是选择最后一个else选项而不是我希望它的选项。

以下是相关代码:

public static void main(String[] args)
{
    int a = Integer.parseInt(args[1]);
    int b = Integer.parseInt(args[2]);
    int c = Integer.parseInt(args[3]);
    int d = Integer.parseInt(args[4]);

    for (int i = -a; i <= a; i++)
    {
        for (int j = -b; j <= b; j++)
        {
            for (int k = -c; k <= c; k++)
            {
                for (int l = -d; l <= d; l++)
                {
                    if (args[0] == "rational-class")
                        rationalClass(a,b,c,d);
                    else if (args[0] == "rational-instance")
                        rationalInstance(a,b,c,d);
                    else if (args[0] == "complex-class")
                        complexClass(a,b,c,d);
                    else if (args[0] == "complex-instance")
                        complexInstance(a,b,c,d);
                    else
                        System.out.println("error");
                }
            }
        }
    }

}

2 个答案:

答案 0 :(得分:1)

尝试用equals方法比较两个字符串,即

if (args[0].equals("rational-class")

答案 1 :(得分:0)

如果你是arg [0]的比较字符串,你需要做这样的事情。

    args[0].equals("......")