簡體   English   中英

顯示等級最低和最高

[英]display grade lowest and highest

如何顯示最高和最低平均成績? 我嘗試了其他解決方案但它不起作用

你能幫助如何顯示最高平均成績和最低平均成績嗎

public static void main(String[] args)
{
    Scanner console = new Scanner (System.in);
    int numStud, numGrade = 0, count = 0, count2 = 0;

    double totalgrades = 0;

    System.out.println("Enter number of students:");
    numStud = console.nextInt();
    System.out.println("Enter number of student grades:");
    numGrade = console.nextInt();
    String[] students = new String [numStud];
    double [][] grades = new double [numStud][numGrade];
    double[] average = new double[numStud];
    String x = console.nextLine();

    System.out.println("");
    while(count<numStud)
    {
        System.out.println("Enter name of student " + (count + 1) + ":");
        students[count] = console.nextLine();
        System.out.println("Enter " + numGrade + " grades:");
        while(count2<numGrade)
        {
            grades[count][count2] = console.nextDouble();
            totalgrades = totalgrades + grades [count][count2];
            count2++;

        }
        average[count] = totalgrades / numGrade;
        totalgrades = 0;
        String y = console.nextLine();
        count2 = 0;
        count++;



}
count = 0;
count2 = 0;
while(count<numStud)
{
    System.out.println("The grades of " + students[count] + " are:");
    while(count2<numGrade)
    {
        System.out.println(grades[count][count2] + " ");
        count2++;
    }
    System.out.println("The average is " + average[count] + ".");
    System.out.println("");
    count2 = 0;
    count++;        
}

假設所有平均成績都保持在average數組中。 然后,

Arrays.sort(average);
System.out.print("min = " + average[0] + ", max = " + average[average.length - 1]);

要填充average您必須:

for(int j = 0; j < grades.length; ++j) {
    int sum = 0;
    for(int i = 0; i < grades[j].length; ++i) sum += grades[j][i];

    average[j] = sum / numGrade;
}

填寫您已正確完成的grades數組。 但是我建議你把while循環變成for循環。

找到最高點

  • 設置一個變量說max作為第一個元素(或 0)
  • 遍歷整個數組
  • 將每個數組元素的值與max
  • 如果元素值 > max
  • 用元素的值更新max
  • 在循環結束時,您將獲得數組的最大值。

     int max = Integer.MIN_VALUE; for(int x=0; x<average.length; x++) if(average[x] > max) max = average[x];

找到最低點

  • 設置一個變量說min作為第一個元素(或 0)
  • 遍歷整個數組
  • 將每個數組元素的值與min
  • 如果元素值 < min
  • 用元素的值更新min
  • 在循環結束時,您將獲得數組的最小值。

     int min = Integer.MAX_VALUE; for(int x=0; x<average.length; x++) if(average[x] < min) min = average[x];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM