为什么我的程序只打印一年级?

时间:2019-05-30 23:27:34

标签: java arrays methods

编写一个程序来计算学生的平均考试成绩及其成绩。你可以 假设以下数据:

Johnson 85 83 77 91 76
Aniston 80 90 95 93 48
Cooper 78 81 11 90 73
Gupta 92 83 30 69 87
Blair 23 45 96 38 59
Clark 60 85 45 39 67
Kennedy 77 31 52 74 83
Bronson 93 94 89 77 97
Sunny 79 85 28 93 82
Smith 85 72 49 75 63

使用三个数组:一个用于存储学生姓名的一维数组,一个(并行)二维数组 数组以存储测试分数,以及一个并行的一维数组以存储 成绩。您的程序必须至少包含以下方法:一种读取方法 并将数据存储到两个数组中,这是一种计算平均考试成绩和成绩的方法。

import java.util.Scanner;
public class Assignment2Ques2 {

1 个答案:

答案 0 :(得分:0)

您可以在AvgCal中计算成绩。您的循环结构似乎是

for each of the 10 students
    for each of the 5 marks per student
       calculate the student's average
    end of average calculation
    set one grade for the student based on his average
end of student grade calculation

因此,每个学生可获得一个年级,因为这就是您所计算的全部。实际上,您可以按照编写的程序存储在程序中:声明char Grades[10],即,只有一个字符可以为每个学生评分。

您的缩进有点时髦,因此很难看到它应有的样子。注意我的伪代码的布局;您的Java应该缩进。

我认为您实际上已经完成了作业要求的工作-每个学生根据他们的平均分数获得一个成绩。您为什么认为他/她应该获得5分?

顺便说一句

 System.out.println(Studt_Names[i] +":  " +Grades);

将为每个学生打印类似“ [C @ 139a55””的网络提示,而不是“成绩”数组的内容,当然也不是该数组中的单个条目。 Grades[i]很有道理。您转录正确吗?