我正在开展一个学校项目,用户将输入学生数量,学科数量,学科名称,学生姓名和每个学生的学生成绩,这些学生将被保存到一个阵列中。最后一部分应使用星号*表示通过的数量。除了图表,我能够解决项目。以下是您要了解的确切问题:
BIT-CT部门要求您创建一个将数据存储到数组的应用程序。您的课程必须询问学生人数,科目数和科目名称。输入每个科目的学生姓名和成绩,显示每位学生的平均成绩。显示一个图表,通过星号()显示有多少学生通过该科目,通过成绩为75.00,最后显示学生中最高的平均成绩。*
样本输出
MIDTERM EXAM: STUDENT RANKING
Enter # of Students: 3
Enter # of Subjects: 2
-----------------------------------------------
Enter your 2 subjects:
1. Java
2. Python
-----------------------------------------------
1. Name: Jan
Grade in Java: 90
Grade in Python: 100
Average: 95.0
-----------------------------------------------
2. Name: Jen
Grade in Java: 100
Grade in Python: 65
Average: 82.5
-----------------------------------------------
3. Name: Jane
Grade in Java: 100
Grade in Python: 90
Average: 95.0
-----------------------------------------------
Highest average score is: 95.0
----GRAPH-----
Java: ***
Python: **
你能帮我看一下图形部分吗?我不能发布整个代码,因为它是至少5个部分的项目(每个部分60多个学生),我确信他们都在寻找答案,但这里是我工作的图形部分的代码,假设输入与样本输出相同,
for (int count = 0; count < noOfSubject; count++){
System.out.print(subjects[count] +": ");
for (int counter = 0; counter < allGrades.length; counter ++){
if (allGrades[counter] >= 75){
System.out.print("*");}
else{
System.out.print("");}}
System.out.println("");}
输出错误:
----GRAPH-----
Java: *****
Python: *****
正确输出:
----GRAPH-----
Java: ***
Python: **
noOfSubject显然是用户输入的主题数量。
subject是用户输入的主题的名称。
allGrades变量是一个数组,包括所有输入的等级,与主题无关。所以基于样本输出:allGrades = {90,100,100,65,100,90}
我已经问了一个关于这个项目的问题,但不是我工作的最后一部分,所以请不要把它混淆为同一个问题。谢谢!
由于你将所有等级转换为单个数组allGrades
,你的嵌套循环应该从noOfSubject
开始计数,从主题的count
开始,如下所示:
for (int counter = count ; counter < allGrades.length ; counter += noOfSubject) {
...
}
注意:将所有成绩放在一个数组中并不是一个好主意。你最好在2D数组中组织它,无论是学生还是主题。