繁体   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