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

Java-使用Math.max和Math.min获取最小最大值,java,class,math,max,min,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: ");

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

您不需要
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);
  }
}
公共类NumInput{
公共静态void main(字符串[]args){
int min=Integer.MAX\u值,MAX=Integer.min\u值;
扫描仪s=新的扫描仪(System.in);
做{
System.out.print(“输入值:”);
int val=s.nextInt();
如果(min>val)min=val;
如果(max
您必须决定是否要使用整数、Long或其他。如果使用int值,则应使用Integer.MIN\u值和Integer.MAX\u值。

有几种方法可以做到这一点,但有一种方法是初始化两个变量,例如MIN和MAX,并用输入的第一个值指定initialize。之后输入的每个值都将被检查,以查看是高于最大值还是低于最小值。如果高于最大值,则将新值指定给最大值。如果低于,则将新值指定给最小值。如果需要,可以使用Math.max和Math.min进行比较


您也可以将所有答案放入一个树集中,树集中的所有元素自然排序,并将第一个和最后一个元素分别作为最小值和最大值。

这就是我所说的重复。您不会一开始就认为“我知道我应该使用锤子,我只是不知道为什么”。编程也是一样:如果你的思维停留在“我必须上数学课”(这是错误的)上,你永远也找不到答案。如果你想成为一名程序员,从问题开始,而不是从假设的解决方案开始。我试图获得额外的帮助,但没有人回答,所以我想我会提出一个新问题。对不起,重复了。