需要帮助编写程序。我无法弄清楚如何添加到某个数组。以下是我必须编写的程序。任何帮助,将不胜感激。
编写将使用一维数组的应用程序。询问用户一系列数字等级(等级为-1将结束输入)。创建一维数组以跟踪成绩范围。例如:
指数0代表90-100的等级 指数1代表80-89的等级 指数2表示70-79的等级 指数3表示在60-69范围内的等级 指数4表示59或以下范围内的等级
显示A,B,C,D和F的数量;还显示平均,最高和最低等级。 以下是您的程序应该是什么样的:
输入数字等级(0-100)或-1以退出:90
输入数字等级(0-100)或-1以退出:82
输入数字等级(0-100)或-1以退出:96
输入数字等级(0-100)或-1以退出:-1
A等级数:2
B等级数:1
C等级数:0
D等级数:0
F等级数:0
平均值是:89.33
最高等级是:96
最低成绩是:82
答案 0 :(得分:0)
我知道有更好的方法可以做到这一点,例如将问题分解为单独的方法,从而使代码更容易调试/维护,但这是我不使用任何方法的方式。
public static void main(String[] args) {
final int SIZE = 100;
int[] array = new int[SIZE];
int count = 0;
int ans;
int[] gradeRange = {0, 0, 0, 0, 0};
double total = 0;
double average = 0;
int highest = array[0];
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a numeric grade (0-100) or -1 to quit:");
ans = keyboard.nextInt();
while (ans != -1 && count < array.length) {
array[count] = ans;
count++; //counter used to keep track of the array length
if (ans >= 90) {
gradeRange[0]++;
}
else if (ans >= 80) {
gradeRange[1]++;
}
else if (ans >= 70) {
gradeRange[2]++;
}
else if (ans >= 60) {
gradeRange[3]++;
}
else if (ans < 60) {
gradeRange[4]++;
}
System.out.println("Enter a numeric grade (0-100) or -1 to quit:");
ans = keyboard.nextInt();
}
int[] secarray = new int[count];
for (int index = 0; index < count; index++) {
secarray[index] = array[index];
}
int min = secarray[0];
for (int index = 0; index < count; index++) {
total += array[index];
average = total / count;
}
for (int index = 0; index < count; index++) {
if (array[index] > highest)
highest = array[index];
}
for (int index = 1; index < secarray.length; index++) {
if (secarray[index] < min)
min = secarray[index];
}
System.out.println("Number of A grades: " + gradeRange[0]);
System.out.println("Number of B grades: " + gradeRange[1]);
System.out.println("Number of C grades: " + gradeRange[2]);
System.out.println("Number of D grades: " + gradeRange[3]);
System.out.println("Number of F grades: " + gradeRange[4]);
System.out.printf("Average is: %.1f\n ", average);
System.out.println("Lowest grade is: " + min);
System.out.println("Highest grade is: " + highest);
}//end main