2014-03-19 37 views
-2

如何在使用休息後詢問同一問題?如何在休息後再次詢問

System.out.print("Employee Name: "); 
     sEmployee = input.nextLine(); 
     boolean bInputOk = checkValue(sEmployee,0); 
     while(!bInputOk) 
     { 
      bInputOk = checkValue(sEmployee,0); 
      System.out.print("Enter a valid name"); 
      break; 
     } 
+0

爲什麼你在那裏使用'break'? – Incognito

+0

只需再問一次;或者不要中斷。 –

+0

,因爲它循環輸入有效的名稱 – user3358266

回答

2

break突破循環。你只想離開循環,如果bInputOk == true。你已經有了你的循環條件,你可以放棄break。此外,你會想實際上提示重新輸入,否則你就繼續重複使用相同的無效輸入(如Aduait Pokhriyal有關評論指出),例如:

while(!bInputOk) { 
    sEmployee = input.nextLine(); 
    bInputOk = checkValue(sEmployee,0); 
    System.out.print("Enter a valid name"); 
} 

順便說一句,你可能想扭轉印刷和提示出現的順序,否則你的輸入和錯誤的信息會有點混亂:

while(!bInputOk) { 
    System.out.print("Enter a valid name"); 
    sEmployee = input.nextLine(); 
    bInputOk = checkValue(sEmployee,0); 
} 

一般情況下,你的程序將不正是你告訴它做什麼。如果你把它告訴break不在循環中,它就會這樣做。你原來的嘗試行爲的原因是因爲你告訴它這樣做。