我正在构建一个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