1
私は問題に遭遇しましたが、私は感謝して別の同様の質問で解決することができましたが、なぜこれが発生するのか不思議です。私はすべての問題を与えることはありません「M」を入力し、このコードでnextInt()を無視するのはなぜですか?
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
while(!input.equals("x")){
if(input.equals("m")){
String temp = scan.nextLine();
String entry = scan.nextLine();
}
else if(input.equals("f")){
String color = scan.nextLine();
int nothing = scan.nextInt();
}
System.out.println("Enter 'm' for mascara, 'f' for foundation, 'x' to exit");
System.out.println("Entry? :");
input = scan.nextLine();
}
}
が、「F」は、私が二回我々の2つの行を出力するようになります:
は、ここに私のプログラムの簡易版です。なぜこれはnextInt()ではなく、nextLine()ではどうして起こりますか?
'm'
Enter 'm' for mascara, 'f' for foundation, 'x' to exit
Entry? :
'f'
Enter 'm' for mascara, 'f' for foundation, 'x' to exit
Entry? :
Enter 'm' for mascara, 'f' for foundation, 'x' to exit
Entry? :
それが主要な区切り文字の1つである場合、あなたが何を意味するかで詳しく説明できますか? –
区切り文字は、トークンを区切る文字です。無視したいトークンの間のもの。先頭の区切り文字は、読みたいトークンの前にある区切り文字です。すなわち、それはそれを「導く」。 (そして後続の区切り記号は、トークンの後の区切り文字*です) –
ああ、私は今参照してください。はっきりと簡潔な答えをありがとう。 –