Java - 最小和最大的值

时间:2013-10-31 06:22:34

标签: java max min

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作为最小的数字并获得下一个最小的数字。有什么想法吗?

4 个答案:

答案 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;
        }