这是我的代码。
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