好的,這是一個列出學生姓名和考試成績的程序。我已經搞清楚了,但只有一件小事。我必須列出學生的姓名......然後允許我將另一名學生添加到列表中,而不必重複完全相同的名稱。 (請參閱標記爲1和2的行)多維數組輸出爲空
第一行收集教師將輸入的firstNameField和lastNameField的名稱......第二行將爲該數組「向上移動」,以確保名稱不會當添加另一名學生時重複。
可惜......每次另一名學生加入它看起來有點somethnig這樣的...
例:
簡Doenull 65 76 45 89簡Doenull 65 87 45 76 約翰Smithnull 65 76 45 89
你可以清楚地看到問題....「空」是存在的,再加上是重複第二個名稱(Jane Doe的)
所以,我應該怎麼做才能避免這種情況?
公共類StudentGradesView擴展FrameView {
int [][] aryStudent = new int [15][4]; //number of student (15) test scores (4 scores)
String[][] aryNames = new String[15][2]; //lists the names of students
int numOfStudents = 0; //starts off students from zero...
int marks = 0;
int test1;
int test2;
int test3;
int test4;
public StudentGradesView(SingleFrameApplication app) {
// GUI的東西...
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
String currentList = studentListField.getText();
//Collects integers from test1Field though test4Field
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<15; x++) {
sb.append(firstNameField.getText()).append(" ").append(lastNameField.getText()); //(1)
sb.append(aryNames[x][0]); //(2)
for (int y=0; y < 4; y++) {
sb.append(" ").append(aryStudent[x][y]);
studentListField.setText(sb.toString() + "\n" + currentList);
}
sb.append("\n");
}
numOfStudents ++;
}
新增:所以出現「sb.append(aryNames [X] [0] ); //(2)「是沒有意義的,沒有它沒有名稱重複,除了它輸出爲...示例
Mary Jones 56 76 56 87 約翰·史密斯45 45 45 45 約翰·史密斯45 45 45 45
所以它重複兩次添加第二個名稱。
雅,那是把我的事,但我waaaas希望這不是太大的交易。我應該如何將「數據」添加到aryNames中,以便它在沒有任何空值或重複名稱的情況下正確輸出?由於我創造aryNames的唯一原因是沒有重複。 – Que 2013-04-29 18:19:40
我想我不確定你的應用程序應該如何工作?你目前如何填充'aryStudent'數組?它看起來像是來自文本字段的名稱,所以除非您爲每個學生名稱都有一個firstName和lastName文本字段,否則我不確定是否有一種很好的方法從GUI中獲取。 – njkremer 2013-04-29 19:13:50
我確實有一個名爲firstNameField和lastNameField的名字和學生姓名的文本字段。 – Que 2013-04-29 19:17:24