我必须找到数组中最小的数字。当我手动创建一个数组时,它可以工作,但是当我使用扫描仪从用户那里获取数字并将其放入负数时,它不会考虑负号,并且就像数字是正数一样。 scan.nextInt对负数是否有导致此的事情?
System.out.println("Enter an array size.");
size = scan.nextInt();
int[] numbers = new int[size];
System.out.println("Enter each integer in the array and press Enter after each one.");
for(int i = 0; i < size; i++)
{
numbers[i] = scan.nextInt();
}
for(int j = 0; j < size; j++)
{
smallest = numbers[0];
if (numbers[j] < smallest)
{
smallest = numbers[j];
}
}
System.out.println("Smallest Number is " + smallest);
这是参考代码
最佳答案
您可以在每个循环中重置smallest
变量。
尝试在循环之前对其进行初始化。
smallest = numbers[0];
for(int j = 0; j < size; j++)
{
if (numbers[j] < smallest)
{
smallest = numbers[j];
}
}