我有一個循環的同時,應通過數組元素閱讀,試圖找到指定的variable
的價值,然而,循環執行本身無限次,我不明白爲什麼。一旦它找到了它正在尋找的價值,它應該退出;我知道它確實查找在尋找,因爲它打印出來的方法I've found it!
無限倍。代碼,到目前爲止是:爲什麼這個while循環執行無限次?
try{
System.out.println("Enter your card number to access your account:");
int CardNumber = sc.nextInt();
String CardNumberStr = Integer.toString(CardNumber);
boolean Exist = false;
String LineNo;
String [] CardNum = {};
int Counter;
FileReader fileReader = new FileReader("VirtualATM.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
line = bufferedReader.readLine();
CardNum = line.split("\\s+");
do{
for(Counter = 0; Counter < CardNum.length; Counter++){
LineNo = CardNum[Counter];
if(LineNo.contains(CardNumberStr)){
Exist = true;
System.out.println("I've found it!");
}
else if(Counter == CardNum.length){
Exist=false;
}
}
}while(Exist = false || line != null);
bufferedReader.close();
}catch(FileNotFoundException e){
e.printStackTrace();
System.out.println(e.getMessage());
}catch(IOException e){
e.printStackTrace();
System.out.println(e.getMessage());
}
誰能幫助我找出它爲什麼這樣做嗎?
,我建議你設置的Eclipse(或任何IDE使用),當你有一個布爾值分配在一個if /而塊提醒你的了。 – corsiKa 2014-08-31 07:53:40
它可能是while(Exist == false ...而不是Exist = false ???? – mlwn 2014-08-31 07:53:44