用Java计算最小值和最大值?

时间:2016-11-05 20:26:58

标签: java

练习的第一部分是计算平均考试成绩。下一个问题要求我解决这个问题并计算最小值和最大值。谁能帮我?到目前为止,这是我的代码。

 import java.util.Scanner;
 import java.io.*;
 import java.text.DecimalFormat;

 public class hw 
 {
 public static void main ( String[] args )
 {
    int maxGrade;
    int minGrade;
    int count=0;
    int total=0;
    final int SENTINEL = -1;
    int score;

    Scanner scan = new Scanner( System.in);
    System.out.println( "To calculate the class average, enter each test
    score.");
    System.out.println( "When you are finished, enter a -1.");

    System.out.print( "Enter the first test score > ");
    score = scan.nextInt();

    while (score != SENTINEL )
    {
        total += score;
        count ++;

        System.out.print("Enter the next test score > ");
        score = scan.nextInt();
    }
    if (count != 0)
    {
        DecimalFormat oneDecimalPlace = new DecimalFormat("0.0");
        System.out.println( "\nThe class average is " 
                + oneDecimalPlace.format( (double) (total) / count )); 
    }
    else
        System.out.println("\nNo grades were entered");
     }

     }

1 个答案:

答案 0 :(得分:1)

while循环中,您可以将当前分数与最大值和最小值进行比较。

while (score != SENTINEL )
{
    total += score;
    count ++;
    if(score > maxGrade)
        maxGrade = score;
    if(score < minGrade)
        minGrade = score;
    System.out.print("Enter the next test score > ");
    score = scan.nextInt();
}

您还需要将最大值和最小值(在声明它们时)设置为&#34;对面&#34;值:

int maxGrade = Integer.MIN_VALUE;
int minGrade = Integer.MAX_VALUE;