我试图接受数字输出数组,如果输入的数字是不同的或没有。我检查了关于此的早期问题:两个“==”操作和equals/compareTo方法不工作
1)使用'=='运算符不会给我正确的输出,即如果输入“2,3,4”作为命令行参数(输入),它仍然会返回“数字不明显”。程序可以编译并在这种情况下运行,但不能提供正确的输出。
2)使用'equals'和'compareTo'方法在编译时返回错误,“int不能被解除引用!”这里的补充本身并不成功。
我的代码如下:
class DistinctNoCheck
{
public static void main(String[] args)
{ int temp = 0;
int [] a = new int [10];
for(int i=0;i<args.length;i++)
{
a[i] = Integer.parseInt(args[i]);
}
for(int i=0;i<a.length;i++)
{
temp = a[i];
for(int j=0;j<a.length;j++)
{
if((a[j] == temp) && (!(i == j)))
{
System.out.println("Numbers are not distinct!");
System.exit(0);
}
}
}
System.out.println("Numbers are distinct!");
}
}
提示:'a.length'是10,无论你有多少参数传递的命令行 – Mat
上'“2,3,4”'作为命令行参数只会给你args数组中的一个参数,你应该输入' “2 3 4”' – x4rf41
@ x4rf41我觉得OP意味着' “2 3 4”',否则它会抛出一个'NumberFormatException'。 –