天天看點

你知道嗎?nextInt()和nextLine()一起用會幹架

nextInt()和nextLine()一起使用時的注意點

問題原因:

nextLine()會把nextInt(),next(),nextDouble(),nextFloat()的結束換行符作為字元串讀入,進而不需要從鍵盤輸入字元串nextLine便已經轉向了下一條語句執行。

解決辦法:

在每一個nextInt(),next(),nextDouble(),nextFloat()後都加一個nextLine()語句,将它們的結束換行符過濾。

例子:

你知道嗎?nextInt()和nextLine()一起用會幹架

你看上面的代碼有問題嗎?我最初的回答也是:沒有

但是:

你知道嗎?nextInt()和nextLine()一起用會幹架

原因:

nextInt()根據分隔符(回車,空格等)隻取出輸入的流中分割的第一部分并解析成Int,然後把後面的位元組傳遞下去。

nextInt讀出了“3”,并留下了“回車”,接着**netxLine()**讀到了一個“回車”

解決:

在後面加一個nextLine()就好啦

你知道嗎?nextInt()和nextLine()一起用會幹架