我正在構建一個java GUI,要求用戶鍵入他的用戶ID,如果我在我的文本文件列表中找到匹配項,那麼我將他的信息顯示到GUI面板。如果他的身份證沒有找到,那麼我會顯示提示,要求他再次輸入他的身份證。java GUI:while循環和if/else語句
我現在正在使用的程序是,每次輸入錯誤的ID後,即使輸入的下一個ID是正確的,我也無法在屏幕上顯示正確的信息。我的GUI永遠停留在那個「錯誤的ID」狀態。我花了幾個小時試圖找出哪裏出了問題,但我找不到它。任何幫助,將不勝感激!
private class okButtonListener implements ActionListener{
public void actionPerformed(ActionEvent e){
FileReader fr = null;
try{
fr = new FileReader("charList.txt");
}
catch (FileNotFoundException e1){
e1.printStackTrace();
}
BufferedReader bf = new BufferedReader(fr);
userID = Integer.parseInt(idField.getText());
while(line != null){
try{
line = bf.readLine();
}
catch (IOException e1){
e1.printStackTrace();
}
if (line != null){
fields = line.split("\t");
if (userID == Integer.parseInt(fields[0])){
System.out.println(fields[2]);
displayFieldsSelections();
resetFields();
break;
}
}
}
if (userID != Integer.parseInt(fields[0])){
mistakeResetFields();
}
}
}
mistakeResetFields方法做什麼? –
首先嚐試跟蹤代碼或將一些System.err.println()查看代碼可能卡住的位置。 – PeterMmm
爲什麼'line'沒有在本地聲明? – PeterMmm