java - 求平均值、最小值、最大值和范围

标签 java

我是 Java 初学者,我的作业阻止了我编写一段代码来查找输入的平均值、最小值、最大值和范围。这是我的全部代码,尚未完成。平均值很好,但我写的最小值和最大值甚至没有读过。谁能帮我将最小值和最大值连接到我的输入?

package averages;
import java.util.Scanner;

public class Averages {

public static void main(String[] args) {
    //initialize variables
    double sum =0;
    int count = 0;
    double grade =0;
    //initialize scanner and input
    System.out.print("Enter Grades, enter -1 to end the set:");
    Scanner in = new Scanner (System.in);
    //Process data until sentinel is entered
    while (grade != -1)
    {
        grade = in.nextDouble();
        if (grade != -1)
        {
            sum = sum + grade;
            count++;
        }
    }
   // Finding the average
    if(count > 0)
    {
        double average = sum/ count;
        System.out.println("Grade Average: "+average);
    }
    else
    {
        System.out.println("No Data");
    }
    //Finding largest grade
    double largest = in.nextDouble();
    while(in.hasNextDouble())
    {
        double input = in.nextDouble();
        if(input > largest)
        {
            largest = input;
        }
        System.out.println(largest);
    //Finding smallest grade    
    double smallest = in.nextDouble();
    while (in.hasNextDouble())
    {
        double input1 = in.nextDouble();
        if(input1 < smallest)
        {
            smallest = input;

        }
        System.out.println(smallest);
    }}}}

最佳答案

public static void main(String args[]) {

    //initialize variables
    double sum = 0;
    int count = 0;
    double grade = 0;
    double largest = Double.MIN_VALUE;
    double smallest = Double.MAX_VALUE;
    //initialize scanner and input
    System.out.print("Enter Grades, enter -1 to end the set:");
    Scanner in = new Scanner(System.in);
    //Process data until sentinel is entered
    while (grade != -1) {
        grade = in.nextDouble();
        if (grade != -1) {
            sum = sum + grade;
            if (grade > largest) {
                largest = grade;
            }
            if (grade < smallest) {
                smallest = grade;
            }

            count++;
        }
    }
    // Finding the average
    if (count > 0) {
        double average = sum / count;
        System.out.println("Grade Average: " + average);
        System.out.println("Max Grade: " + largest);
        System.out.println("Min Grade: " + smallest);
    } else {
        System.out.println("No Data");
    }
}

关于java - 求平均值、最小值、最大值和范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29952290/

相关文章:

java - 自定义SessionListener,名称在此上下文中未绑定(bind),javax.naming.NameNotFoundException

java - 有关如何将 Vysper xmpp 与 smack 结合使用的示例

java - 单个字段约 100-150 个对象的最少系统任务排序算法?

java - 如何在Android中选择上一个微调器时获取微调器项目?

java - 如何在java中程序继续运行之前等待事件完成

java - 以太坊区 block 链,带有用于非支付应用程序的java api

java - EasyMock 为预期方法返回 Null

java - 如何从不同的类访问非静态变量和方法

java - 如何 "logic:iterate"只是一个对象?

java - Web 元素 Groovy isSelected() 和 selected 得到错误的结果