私は現在、グレードブックの種類のプログラムに取り組んでいます。ユーザーは、学生の名前とそれらが4つのテストで得たマークを入力し、次にそれを2D配列に入力します。その学生の平均印を決定するために「Student Average」ボタンをクリックすると、それは学生情報を印刷してから、その次の行の平均を求めます。しかし、写真に示されている出力は、平均が表示される前に約15行の余分な行が追加されます。JTextAreaはforループで行を追加し続けますが、これを防ぐ方法はありますか?
は、私はこれを引き起こしている私のコードで何が起こっているのかわからないんだけど、私は学生の平均値ボタンの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 + "%.");
}
[テーブルの使い方](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html)をご覧になることを強くおすすめします。 – MadProgrammer