我目前正在制作成绩册计划。用户输入学生的姓名和他们在4次测试中获得的标记,然后输入2D阵列。当我点击“学生平均”按钮来确定所述学生的平均分数时,我希望它打印学生信息,然后是平均后面的一行。但是现在的输出,如图所示,在显示平均值之前增加了大约15条额外的线。
我不确定导致此问题的代码中发生了什么,但我会附上Student Averages按钮的actionPerformed代码。这段代码是所有魔法发生的地方:
private void studentAveragesButtonActionPerformed(java.awt.event.ActionEvent evt) {
int sum = 0;
int studentAverage = 0;
studentName = lastNameInput.getText() + " " + firstNameInput.getText();
for (int row = 0; row < studentMarks.length; row++) {
for (int col = 0; col < studentMarks[0].length; col++) {
if (studentMarks[row][col] != null) {
studentMarkScreen.setText(studentMarkScreen.getText() + " " + String.valueOf(studentMarks[row][col]));
if (studentMarks[row][col].equals(studentName)) {
if (studentMarks[row][0].length() > 3) {
for (col = 1; col < studentMarks[0].length; col++) {
sum += Integer.parseInt(studentMarks[row][col]);
}
}
}
} else {
continue;
}
}
}
studentAverage = sum / 4;
studentMarkScreen.append("\n");
studentMarkScreen.append("The overall average for " + studentName + " is " + studentAverage + "%.");
}
答案 0 :(得分:1)
studentName = lastNameInput.getText() + " " + firstNameInput.getText();
我猜测变量lastNameInput.getText()
有垃圾。
您可以通过添加:
轻松测试System.out.println( "(" + lastNameInput.getText() + ")" );
即使这不是问题,您每次设置/附加文本时都需要添加调试代码以显示文本区域的值。然后,您可以确定导致问题的语句。