我的程序中的其他一切工作除了這個單一的方法,它跳過sc.next(),然後掛在我的if。爲什麼我的java程序跳過我的輸入並掛在IF語句上?
public static String getChoice() {
boolean choiceSelector = false;
// construct a Scanner object for getting input
Scanner sc = new Scanner(System.in);
System.out.println("Do you wish to continue? Y/N");
String choice = " ";
do{
choice = sc.next();
if(choice.equalsIgnoreCase("Y")){
choice="Y";
choiceSelector = true;
}
if(choice.equalsIgnoreCase("N")){
choice="N";
choiceSelector = true;
} else
choice = sc.next("Please enter a correct value.");
} while(choiceSelector == false);
return choice;
}//end getChoice
的是你這個人之前調用該方法?請顯示它。 –
我從主方法調用此方法,主方法完美地工作,此方法僅確定主方法的while循環是否應該繼續或終止。 – user6831363
不,它不。它在'next()'中被阻塞。 NB'next()'不打印提示。你在濫用它。 – EJP