跟踪用户输入的整数的最大值和最小值
Keeping track of maximum and minimum of integers entered by the user
已解决
我想问用户他想输入多少个整数,然后读取所有数字,同时跟踪他们输入的最大和最小数字。然后打印最大和最小数。
我正在考虑将最大值和最小值设置为第一个输入的数字,然后在 for 循环中读取下一个数字,并用 bigger/smaller 数字更改最大值和最小值。
但是,它只打印用户输入的第一个数字。有人可以帮我解决这个问题吗?谢谢。
代码:
System.out.print("How many numbers do you want to type? ");
int n = scanner.nextInt();
System.out.print("Please enter a number: ");
int number = scanner.nextInt();
int currentMax = number;
int currentMin = number;
for(int i = 0; i < n-1; i++){
System.out.print("Please enter a number: ");
int nextNumber = scanner.nextInt();
if (nextNumber > currentMax) {
currentMax = nextNumber;
}
if (nextNumber < currentMin) {
currentMin = nextNumber;
}
}
System.out.println(currentMax);
System.out.println(currentMin);
你检查最大值和最小值的逻辑是正确的,但是赋值是错误的
for(int i = 0; i < n-1; i++){
System.out.print("Please enter a number: ");
int nextNumber = scanner.nextInt();
if (nextNumber > currentMax) {
//currentMax = number; // here its always assigns number as current max as opposed to nextNumber
currentMax = nextNumber;
}
if (nextNumber < currentMin) {
//currentMin = number; // here its always assign number as current minas opposed to nextNumber
currentMin = nextNumber ;
}
已解决
我想问用户他想输入多少个整数,然后读取所有数字,同时跟踪他们输入的最大和最小数字。然后打印最大和最小数。
我正在考虑将最大值和最小值设置为第一个输入的数字,然后在 for 循环中读取下一个数字,并用 bigger/smaller 数字更改最大值和最小值。 但是,它只打印用户输入的第一个数字。有人可以帮我解决这个问题吗?谢谢。
代码:
System.out.print("How many numbers do you want to type? ");
int n = scanner.nextInt();
System.out.print("Please enter a number: ");
int number = scanner.nextInt();
int currentMax = number;
int currentMin = number;
for(int i = 0; i < n-1; i++){
System.out.print("Please enter a number: ");
int nextNumber = scanner.nextInt();
if (nextNumber > currentMax) {
currentMax = nextNumber;
}
if (nextNumber < currentMin) {
currentMin = nextNumber;
}
}
System.out.println(currentMax);
System.out.println(currentMin);
你检查最大值和最小值的逻辑是正确的,但是赋值是错误的
for(int i = 0; i < n-1; i++){
System.out.print("Please enter a number: ");
int nextNumber = scanner.nextInt();
if (nextNumber > currentMax) {
//currentMax = number; // here its always assigns number as current max as opposed to nextNumber
currentMax = nextNumber;
}
if (nextNumber < currentMin) {
//currentMin = number; // here its always assign number as current minas opposed to nextNumber
currentMin = nextNumber ;
}