繁体   English   中英

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

[英]Java - print user input of 4 integers, and the lowest, highest and average number

该程序应该接受四个等级的用户输入,选取这些等级并计算它们的最低,最高和平均水平。 然后,它需要打印出四个等级,以及带有适当标签的最低,最高和平均等级。 我无法弄清楚如何用我的代码打印出四个等级,并且由于某种原因,它在每次循环迭代或每个用户输入之后都打印出最低,最高和平均水平。

这是我到目前为止的内容:

公共课程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);
    } } }

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

您只需在主方法中调用一次Test2(double grade)方法,因为Test2方法内部有一个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);


}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM