我正在尝试编写一个从用户读取5个整数的类,并返回最高和最低值。这必须使用循环完成,而不使用数组和Integer.MIN.Value / Integer.MAX.Value。我已经成功编写了从用户那里得到5个整数的代码并返回了最高值,但我无法同时获得同一类中返回的最高值和最低值。
以下是我上面提到的代码:
import java.util.Scanner;
public class Ovning_321 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number;
int max = 0;
for (int x = 0; x<5; x++){
System.out.print("Give me an integer: ");
number = input.nextInt();
if (number > max){
max = number;
}
}
System.out.println("Highest value: " + max);
}
}
答案 0 :(得分:1)
在这里你去:)。
import java.util.Scanner;
public class Ovning_321 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number;
int max = 0;
int min = 0;
for (int x = 0; x<5; x++){
System.out.print("Give me an integer: ");
number = input.nextInt();
if (x == 0 || number > max){
max = number;
}
if (x == 0 || number < min){
min = number;
}
}
System.out.println("Highest value: " + max);
System.out.println("Lowest value: " + min);
}
}
答案 1 :(得分:0)
为什么不重复最小的最大逻辑?
public class Ovning_321 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Give me an integer: ");
number = input.nextInt();
int max = number;
int min = number;
for (int x = 0; x<4; x++){
System.out.print("Give me an integer: ");
number = input.nextInt();
if (number > max){
max = number;
}
if (number < min){
min = number;
}
}
System.out.println("Highest value: " + max);
System.out.println("Lowest value: " + min);
}
}
请注意,max和min最初设置为用户输入的第一个数字,因此不会出现false 0,也不需要MAX_INT
或MIN_INT
。这反过来使循环运行一次,因此终止于i == 4
而不是5。