【发布时间】:2015-06-03 11:08:31
【问题描述】:
我有一个家庭作业,程序会生成随机数量的学生参加随机数量的测试。用户必须输入学生姓名和考试成绩。完成后,程序将在屏幕上打印: 学生报告 Fred 的分数: 测试#1:78 测试#2:80 弗雷德平均:79.0 苏的分数: 测试#1:91 测试#2:94 苏平均:92.5
...等等,具体取决于您获得的学生数量和测试数量。
我把一切都做好了,直到平均部分我该如何解决它?
这是我的代码:
public static void populateNames(String[] names)
{
for(int i = 0; i<names.length; i++)
{
out.print("Enter student " + (i+1) + " name: ");
names[i] = keyboard.next();
}
}
// Code your 3 methods below...
//Ask the user for the student name as well as the test scores
public static void populateTestScores(String[] names, int[][] scores)
{
out.println();
for(int i=0; i<names.length; i++)
{
out.println();
out.println("Entering scores for: " + names[i]);
for(int s=0; s<scores[0].length; s++)
{
out.print("Enter score for test #" + (s+1) + ": ");
scores[i][s] = keyboard.nextInt();
}
}
out.println();
}
//Print each studdent test scores and ther average
public static void printStudentReport(String[] names, int[][] scores)
{
out.println("STUDENT REPORT");
for(int i=0; i<names.length; i++)
{
out.print("Scores for " + names[i] + ": ");
out.println();
for(int s=0; s<scores[0].length; s++)
{
out.println("Test #" + (s + 1) + ": " + scores[i][s]);
}
out.println();
int s=0;
if(s<scores[0].length)
{
s++;
double sum = 0;
sum += scores[i][s];
double average = sum / scores[0].length;
out.println("Average for " + names[i] + ": " + average);
out.println();
}
}
out.println();
}
【问题讨论】:
-
它做了什么不想要的,你到底想让它做什么?请阅读stackoverflow.com/help/mcve
-
对不起。它没有给我正确的平均值,它还打印了 Fred 的 STUDENT REPORT 分数:测试 1:89 平均 43 测试 2:平均 32 苏分数:测试 1:90 平均 40 测试 2:90 平均 50 等等它打印每个考试成绩的平均值。所以它会在 STUDENT REPORT 之后的每一行打印平均值,我只想在这个循环结束之前在最后一行打印 - for(int i=0; i
-
我刚刚更正了我的代码。平均值不断返回不正确,所以我不知道它是否与我的计算或其他问题有关,请帮忙。我需要在 2 天内完成这项工作
-
问题不清楚。预期的输出真的是一长行文本吗?请编辑问题以清楚地显示预期输出并显示实际输出。您在这里向人们寻求帮助以解决您的问题,请让我们在不做大量工作的情况下轻松理解您的需求。如果您的问题确实很紧急,请方便我们快速理解。
-
添加您的输出。不清楚您对输出的期望。
标签: java methods multidimensional-array