我正在创建一个程序,允许用户输入任意数量的数字,直到他们输入0.一旦输入0,控制台就会显示输入的最高和最低值。
import java.util.Scanner;
public class NumInput {
public static void main(String [] args) {
Scanner s = new Scanner(System.in);
for (;;) {
System.out.print("Enter a Value: ");
int val = s.nextDouble();
if ( val == 0) break;
else continue;
}
}
}
我不知道如何获得最大值和最小值。我知道我应该使用Math类,但我不知道如何将它放入我的代码中。
答案 0 :(得分:1)
您必须决定是否要使用Integer,Long或其他内容。如果使用int值,则应使用Integer.MIN_VALUE和Integer.MAX_VALUE。
答案 1 :(得分:0)
您不需要Math.min()
也不需要Math.max()
,您可以动态确定极值:
public class NumInput {
public static void main(String [] args) {
int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;
Scanner s = new Scanner(System.in);
do {
System.out.print("Enter a Value: ");
int val = s.nextInt();
if (min > val) min = val;
if (max < val) max = val;
}
while (val == 0);
System.out.println(min + " " + max);
}
}
答案 2 :(得分:0)
有几种方法可以做到这一点,但一种是初始化两个变量,比如min和max,并使用输入的第一个值初始化它们。之后输入的每个值将被检查以查看是否高于最大值或低于最小值。如果高于max,则将新值分配给max。如果低于将新值分配给min。如果需要,可以使用Math.max和Math.min进行比较。
您还可以将所有答案都输出到TreeSet中,这将自然地排序所有元素,并将第一个和最后一个元素分别作为min和max。