int min, max;
Scanner s = new Scanner(System.in);
System.out.print("Enter a Value: ");
int val = s.nextInt();
min = max = val;
while (val != 0) {
System.out.print("Enter a Value: ");
val = s.nextInt();
if (val < min) {
min = val;
}
if (val > max) {
max = val;
}
};
System.out.println("Min: " + min);
System.out.println("Max: " + max);
}
}
首先,这是一个重复的问题,我真的需要一个答案,但是没有人在另一个问题上做出回应,因为它已经过时了。那说;
我应该创建的程序应该采用无限数量的值,直到输入0,然后它显示输入的最小值和最大值。我现在设置它的方式,最小的总是0.我需要找出一种方法以某种方式忽略0作为最小的数字并获得下一个最小的数字。有什么想法吗?
答案 0 :(得分:2)
这是一种做法。
while (true) {
System.out.print("Enter a Value: ");
val = s.nextInt();
// stop the loop when 0 is entered (prevent min/max calculations)
if(val == 0)
break;
if (val < min)
min = val;
if (val > max)
max = val;
}
答案 1 :(得分:0)
变化:
if (val < min) {
min = val;
}
为:
if ((val < min) && (val != 0)) {
min = val;
}
答案 2 :(得分:0)
如何完全按照你的说法将它添加到循环条件中?
while (val != 0) {
System.out.print("Enter a Value: ");
val = s.nextInt();
if (val != 0) {
if (val < min) {
min = val;
}
if (val > max) {
max = val;
}
} else {
break;
}
}
答案 3 :(得分:0)
您需要更改以下条件,它才能正常工作。
if (val < min && val>0) {
min = val;
}