首先,对不起,如果我要求你做我的作业就好了......对我来说你不是,这个问题只涉及整个计划的一小部分正在制作中......换句话说,这还没有完成。
我会问我的老师,但这是一个在线课程。那么我会问我的朋友们的建议,但我是我学校唯一一个上这门计算机科学课程的孩子。 (这是一所小学校)
无论如何,这个程序完成后,将允许教师输入每个学生四个等级的学生列表。最后我会添加一些代码,让老师找到每个学生的平均值等等。
但目前我只是在上市学生的过程中。哪里有小问题......
每当我列出一个学生(他们的姓氏和名字)以及四个考试成绩时,这一切都很好地输出。然而,当我输出具有不同名称和不同考试成绩的第二名学生时,它会输出不同的名字......但是前一名学生的考试成绩。
实施例。
John Smith:67 68 57 87
Jane Doe:67 68 57 87(即使它应该是Jane Doe:54 68 75 91)
显然这是一个问题......因为所有的学生都没有完全相同的成绩......永远......
下面的代码......
public class StudentGradesView extends FrameView {
int [][] aryStudent = new int [15][4]; //[15] being number of students and [4] being test scores...
String[] studentNames = new String[15]; // I'm thinking this is might unnecessary now...but we'll see
int numOfStudents = 0; //starting number of students at 0....
int marks = 0;
int test1;
int test2;
int test3;
int test4;
public StudentGradesView(SingleFrameApplication app) {
//unimportant...just stuff added for GUI..
}
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
//test1Field through test4Field are the test scores....
aryStudent[numOfStudents][0] = Integer.parseInt(test1Field.getText());
aryStudent[numOfStudents][1] = Integer.parseInt(test2Field.getText());
aryStudent[numOfStudents][2] = Integer.parseInt(test3Field.getText());
aryStudent[numOfStudents][3] = Integer.parseInt(test4Field.getText());
StringBuilder sb = new StringBuilder();
for (int x=0; x < numOfStudents ; x++) {
sb.append(firstNameField.getText() + " " + lastNameField.getText());
for (int y=0; y < 4; y++) {
sb.append(" " +aryStudent[x][y]);
}
sb.append("\n");
}
studentListField.setText(sb.toString());
numOfStudents ++;
}
}
答案 0 :(得分:0)
首先,你想要
for (int x=0; x<= numOfStudents; x++)
或当numOfStudents = 0时,你永远不会进入循环。
另外,addButtonActionPerformed是否有一个包含你给我们的代码的for循环?否则,似乎每次进入该方法时,numOfStudents将为0,当您退出时它将为1,但代码仅针对numOfStudents = 0执行。我错过了什么?