如果输入的数字是不同的,我试图接受一组数字和输出。我检查了之前的问题:
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!");
}
}
答案 0 :(得分:2)
您正在使用a.length
,即10.在迭代数组时应使用args.length
。
替换
for(int j=0;j<a.length;j++)
与
for(int j=0;j<args.length;j++)
与i变量循环相同。