Java-打印用户输入的4个整数,以及最低、最高和平均数

Java-打印用户输入的4个整数,以及最低、最高和平均数,java,arrays,for-loop,Java,Arrays,For Loop,这个程序需要用户输入四个等级,计算出最低、最高和平均等级。然后,它需要打印出四个等级以及最低、最高和平均等级,并附上适当的标签。我不知道如何用我的代码打印出四个等级,出于某种原因,它在循环的每次迭代或每个用户输入后打印出最低、最高和平均等级 以下是我到目前为止的情况: 公共类Test2{ double total = 0.0; double max = 0.0; double min = Double.MAX_VALUE; public void Test2 (double[] grades)

这个程序需要用户输入四个等级,计算出最低、最高和平均等级。然后,它需要打印出四个等级以及最低、最高和平均等级,并附上适当的标签。我不知道如何用我的代码打印出四个等级,出于某种原因,它在循环的每次迭代或每个用户输入后打印出最低、最高和平均等级

以下是我到目前为止的情况:

公共类Test2{

double total = 0.0;
double max = 0.0;
double min = Double.MAX_VALUE;

public void Test2 (double[] grades){
//Loop through all of the grades.
for(int i = 0; i < 4; i++){

    double grade = grades[i];
    //Add the grade to the total
    total += grade;

    //If this is the highest grade we've encountered, set as the max.
    if(max < grade){
        max = grade;
    }
    //If this is the lowest grade we've encountered, set as min.
    if(min > grade){
        min = grade;
    }
}
    System.out.println("Average is: " + (total / 4));
    System.out.println("Max is: " + max);
    System.out.println("Min is: " + min); }

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    double[] grades = new double[4];

    System.out.println("Please enter number");

    for (int i = 0; i < grades.length; i++) {
        grades[i] = input.nextDouble();
        Test2 g = new Test2();
        g.Test2(grades);
    } } }
双倍合计=0.0;
双最大值=0.0;
双最小值=双最大值;
公共无效测试2(双[]等级){
//循环浏览所有等级。
对于(int i=0;i<4;i++){
双级=等级[i];
//把成绩加到总数上
总数+=年级;
//如果这是我们遇到的最高等级,则设置为最大。
如果(最大值<等级){
最大值=等级;
}
//如果这是我们遇到的最低等级,则设置为min。
如果(最小>坡度){
min=等级;
}
}
System.out.println(“平均值为:”+(总计/4));
System.out.println(“最大值为:+Max”);
System.out.println(“Min是:“+Min”);}
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
双[]等级=新双[4];
System.out.println(“请输入编号”);
对于(int i=0;i

有人能帮我吗?我需要它打印出四个等级(用户输入),以及四个等级中的最低、最高和平均等级,但只打印一次,而不是在循环的每次迭代之后。如果我的代码看起来不好,很抱歉。

您必须在主方法中只调用一次方法
Test2(双级)
,因为
Test2
方法中有一个for循环。例如,在主外部for循环中调用
Test2
方法。

您的答案应该是下面的类

import java.util.Scanner;

public class Test2 {

double total = 0.0;
double max = 0.0;
double min = Double.MAX_VALUE;

public void doOperations(double[] grades) {
    for (int i = 0; i < 4; i++) {

        double grade = grades[i];
        //Add the grade to the total
        total += grade;

        //If this is the highest grade we've encountered, set as the max.
        if (max < grade) {
            max = grade;
        }
        //If this is the lowest grade we've encountered, set as min.
        if (min > grade) {
            min = grade;
        }
    }
    System.out.println("Average is: " + (total / 4));
    System.out.println("Max is: " + max);
    System.out.println("Min is: " + min);
}

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    double[] grades = new double[4];

        System.out.println("Please enter number");

        for (int i = 0; i < grades.length; i++) {
            grades[i] = input.nextDouble();
        }
        Test2 test2 = new Test2();
        test2.doOperations(grades);


}
import java.util.Scanner;
公共类Test2{
双倍合计=0.0;
双最大值=0.0;
双最小值=双最大值;
公共无效操作(双[]级){
对于(int i=0;i<4;i++){
双级=等级[i];
//把成绩加到总数上
总数+=年级;
//如果这是我们遇到的最高等级,则设置为最大。
如果(最大值<等级){
最大值=等级;
}
//如果这是我们遇到的最低等级,则设置为min。
如果(最小>坡度){
min=等级;
}
}
System.out.println(“平均值为:”+(总计/4));
System.out.println(“最大值为:+Max”);
System.out.println(“最小值为:+Min”);
}
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
双[]等级=新双[4];
System.out.println(“请输入编号”);
对于(int i=0;i

}

欢迎使用堆栈溢出!看起来你可能在请求家庭作业帮助。虽然我们对此本身没有问题,但请注意这些,并相应地编辑您的问题。(即使这不是家庭作业,也请考虑这个建议。)伊塔尼回答很好,谢谢。如果是这样的话,你应该通过投票和接受答案来表达你的感激之情。