【問題】在nextInt()后面使用nextLine()接受不了字符的情況
System.out.println("請(qǐng)輸入收入數(shù)額:");
int income=in.nextInt();
System.out.println("請(qǐng)輸入備注:");
String des=in.nextLine();
上述代碼會(huì)出現(xiàn)“跳過”in.nextLine()的情況又憨,原因是因?yàn)椋琻extInt()不接收回車(換行)惫企,因此在nextInt()輸入換行之后,會(huì)遺留一個(gè)換行符饰躲,然后這個(gè)換行符會(huì)被in.nextLine()接收盗扇,因此,就出現(xiàn)了“跳過”in.nextLine()的情況寥假。
【解決方法】
1市框,在nextInt()后面先調(diào)用一次nextLine()吸收掉遺留的換行符,然后再調(diào)用一個(gè)nextLine()來接收
System.out.println("請(qǐng)輸入收入數(shù)額:");
int income=in.nextInt();
System.out.println("請(qǐng)輸入備注:");
in.nextLine();//吸收遺留的換行符
String des=in.nextLine();
2糕韧,
全部采用nextLine來接收枫振,然后類型轉(zhuǎn)換成需要的類型。