Java 未正确识别命令行参数
在我的程序中,我试图根据字符串args[0]的值循环特定的操作。我有一个条件树设置,但不管args[0]是什么,它总是选择最后一个else选项,而不是我想要的选项 以下是相关代码:Java 未正确识别命令行参数,java,string,command-line-arguments,Java,String,Command Line Arguments,在我的程序中,我试图根据字符串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]);
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");
}
}
}
}
}
publicstaticvoidmain(字符串[]args)
{
inta=Integer.parseInt(args[1]);
intb=Integer.parseInt(args[2]);
intc=Integer.parseInt(args[3]);
intd=Integer.parseInt(args[4]);
对于(inti=-a;i尝试使用equals方法比较两个字符串,即
if (args[0].equals("rational-class")
如果要为arg[0]比较的是字符串,则需要执行以下操作
args[0].equals("......")
字符串与“==”进行比较;尝试使用.equals作为一般注意事项,首先比较常量更安全,例如,“rational class”.equals(args[0])
作为一个定义良好的equals方法,将不会抛出NullPointerException,而是抛出args[0]可能是空的。啊啊啊,我觉得很傻,谢谢,伙计,它就像一个符咒。它发生了……祝你好运,兄弟。。