Scanner使用了nextInt方法的時候,若是接下來要使用nextLine,會獲取不到內容code
由於Scanner讀取用戶輸入數據,是先判斷緩衝區是否含有數據,沒有則接收用戶輸入的數據,把用戶輸入的數據放在緩衝區中讀取。方法
Scanner先獲取用戶的內容到緩衝區中,調用nextInt方法讀取數值,可是緩衝區的內容裏其實還含有個\n
換行符,nextInt方法將數值取出以後,\n
仍然存在於緩衝區.next
以後咱們再調用nextLine方法,因爲緩衝區中還存在有內容,因此Scanner這個時候直接去到了緩衝區讀取,讀取到\n
,直接換行.數據
因而,Scanner的nextLine方法就跳過,沒有獲取到用戶輸入內容.co
在使用完nextInt以後調用nextLine,將緩衝區中的\n
清除掉
int i = scanner.nextInt(); scanner.nextLine();