【发布时间】:2018-06-21 01:26:40
【问题描述】:
该程序要求“编写一个 Java 程序,首先询问用户他们想输入多少成绩。然后使用 do..while 循环将用户输入的成绩填充到该大小的数组中。然后排序数组。在读取该数组的 for 循环中,显示成绩并汇总成绩。循环后,计算这些成绩的平均值并显示该平均值。"
输出就是问题所在。无论我对代码做什么,它只会输出我输入的两个输入。如果我选择进入 4,5 或 10 级。它只会显示最低的两个。尽管总数和平均值是正确的。我在这里缺少什么?
这是我写的:
import java.util.Scanner;
import java.util.Arrays;
public class TapCoGradeArray
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
int count;
double inputGrade = 0;
double gradeTotal = 0;
double[] individualGrade;
System.out.println("Enter the number of students that are being graded.");
int numberOfGrades = keyboard.nextInt();
individualGrade = new double[numberOfGrades];
count = 0;
do
{
System.out.println("Enter the grade (from 0-100) for each student below.");
inputGrade = keyboard.nextDouble();
individualGrade[count] = inputGrade;
count++;
gradeTotal+= inputGrade;
} while(count < numberOfGrades);
Arrays.sort(individualGrade);
for(count = 0; count == individualGrade.length; count++);
{
// This next line is using gradeTotal as an array. However, there is no array by that name.
// Check which array this should be.
System.out.println("The grades entered are the following: \n" + inputGrade + "\n" + individualGrade[count]);
}
double gradeAverage = gradeTotal / numberOfGrades;
System.out.println("The total of the grades is " + gradeTotal);
System.out.println("The average of the grades entered is " + gradeAverage);
}
}
【问题讨论】:
-
忽略程序内的 cmets。这些是老师之前的意见。