在不使用数组的情况下从整数中获取最低和最高值?

我正在尝试编写一个从用户读取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 max){ max = number; } } System.out.println("Highest value: " + max); } } 

干得好 :)

 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); } } 

为什么不重复你的最大逻辑?

 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_INTMIN_INT 。 这反过来使循环运行一次,因此终止于i == 4而不是5。