Java:如何找到数组的最小值(用户输入)
到目前为止,这是我的代码:
public static void main(String[] args)
{
System.out.println("Please input numbers");
Scanner myScan = new Scanner(System.in);
String input = myScan.nextLine();
String[] numbers = input.split(" ");
int[] numbersInt = new int[numbers.length];
int minNumber = numbersInt[0];
for(int i = 0 ; i < numbers.length; i++)
{
numbersInt[i] = Integer.parseInt(numbers[i]);
}
for(int i = 1; i < numbers.length; i++)
{
if(numbersInt[i] < minNumber)
{
minNumber = numbersInt[i];
}else if(minNumber < numbersInt[i])
{
minNumber = numbersInt[0];
}
}
System.out.println(minNumber);
}
}
例如,如果我输入整数'20 15 60',我得到的数字“20”是最小值。我做错了什么?多谢各位
# 1 楼答案
问题只针对两条线
1-移动
int minNumber = numbersInt[0]
(将其放在第一个for
之后)2-删除第二个
for
中下面的片段我建议您在场景中使用此代码
# 2 楼答案
你的代码是正确的,但有一些错误。首先,移动“int minNumber=numbersInt[0];”第一个for循环之后的行。其次,从第二个for循环中删除else部分
为了让你更好地理解我再次发布你的代码:)并进行修复
# 3 楼答案
在解析整数之后,应该初始化
minNumber
。如果没有必要,也可以。所以这条线应该移动:所以你的代码是这样的:
虽然这不是读取一行整数的真正方法。你可以这样做: