有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从用户输入中找到最大值和最小值?(while循环)

老实说,我不知道从哪里开始,我可以通过用户的输入找到平均值,但似乎无法从输入的数字中找出最大或最小的数字。有什么方法可以用吗?任何帮助都会很好。谢谢

编辑:有点想通了。然而,答案似乎总是最大的数=2.1478。。。或最小值=-2.1478

Scanner input = new Scanner(System.in);


System.out.println("Enter the number of grades: ");
double random = input.nextDouble();
double min = Integer.MIN_VALUE;
double max = Integer.MAX_VALUE;

double total=0;
int count = 1;
while (count < random+1) {




    System.out.println("Enter grade " + count + ":");

    double somenumber = input.nextDouble();
    total+=somenumber;

    count++;

    if (somenumber > max){
        max = somenumber;
    }
if (somenumber < min){
    min = somenumber;
}


}
System.out.println("Total is " + total);
System.out.println("Average is " + (total/random));
System.out.println("Largest number is " + max);
System.out.println("Smallest number is" + min);



        }

}


共 (2) 个答案

  1. # 1 楼答案

    你想要一些看起来像

    double min = Double.MAX_VALUE;
    double max = 0.00;  // assume use positive numbers
    
    while (count < random+1) {
    
    System.out.println("Enter grade " + count + ":");
    
    double somenumber = input.nextDouble();
    total+=somenumber;
    
    count++;
    
    max = Math.max (somenumber, max);
    min = Math.min (somenumber, min);
    
    }
    
  2. # 2 楼答案

    谢谢大家给我的建议。然而,当我运行我的程序时。我无法得到最大值和最小值的正确答案

    编辑:解决了。谢谢大家的贡献&书信电报;33

    Scanner input = new Scanner(System.in);
    
    
    System.out.println("Enter the number of grades: ");
    double random = input.nextDouble();
    double min = Integer.MIN_VALUE;
    double max = Integer.MAX_VALUE;
    
    double total=0;
    int count = 1;
    while (count < random+1) {
    
    
    
    
        System.out.println("Enter grade " + count + ":");
    
        double somenumber = input.nextDouble();
        total+=somenumber;
    
        count++;
    
        if (somenumber > max){
            max = somenumber;
        }
    if (somenumber < min){
        min = somenumber;
    }
    
    
    }
    System.out.println("Total is " + total);
    System.out.println("Average is " + (total/random));
    System.out.println("Largest number is " + max);
    System.out.println("Smallest number is" + min);
    
    
    
            }
    

    }

    最大的数字是2.14748最小的数字是-2.147478。。。这就是印刷出来的。。。我是不是犯了一个模拟错误