Java - 使用Math.max和Math.min获取最小最大数字

时间:2013-10-30 18:42:55

标签: java class math max min

我正在创建一个程序,允许用户输入任意数量的数字,直到他们输入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类,但我不知道如何将它放入我的代码中。

3 个答案:

答案 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。