如何正确检查最小/最大输入

  • 本文关键字:何正确 java
  • 更新时间 :
  • 英文 :


这是我的代码。

Scanner console = new Scanner(System.in);
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
int num =0;
do{
System.out.print("Type a number (or -1 to stop): ");
num = console.nextInt();
} while(num != -1);{
if (num < min) {
min = num;
} if (num > max) {
max = num;
}
}
System.out.println("maximum was : " + max);
System.out.println("minimum was : " + min);

的最大值总是-1最小值总是-1它们都不应该返回-1

帮助对明显的错误进行了编辑,但仍然不是正确的代码。

不可能存在满足条件的int

if (min < num) {

因为min指向的是允许的最大整数

min = Integer.MAX_VALUE;    //2^31 - 1.

条件不正确,应:

if (min > num)

因为在顶部你声明了

int min = Integer.MAX_VALUE

的实际值这是:2^31-1 = 2147483647

最新更新