nextInt()和nextLine()一起使用時的注意點
問題原因:
nextLine()會把nextInt(),next(),nextDouble(),nextFloat()的結束換行符作為字元串讀入,進而不需要從鍵盤輸入字元串nextLine便已經轉向了下一條語句執行。
解決辦法:
在每一個nextInt(),next(),nextDouble(),nextFloat()後都加一個nextLine()語句,将它們的結束換行符過濾。
例子:
你看上面的代碼有問題嗎?我最初的回答也是:沒有
但是:
原因:
nextInt()根據分隔符(回車,空格等)隻取出輸入的流中分割的第一部分并解析成Int,然後把後面的位元組傳遞下去。
nextInt讀出了“3”,并留下了“回車”,接着**netxLine()**讀到了一個“回車”
解決:
在後面加一個nextLine()就好啦