java nextline没有停住_java中使用nextLine(); 没有输入就自动跳过的问题?
我昨天在做題(最長上升子序列)的過程中遇到一個問題,第一個數 N 表示后面有多少組測試數據,但是當我輸入 N 之后,for 循環里的 nextLine(); 并沒有讓我輸入,就跳過并且輸出了
問題分析
in.nextLine()不能放在in.nextInt()后面,否則 in.nextLine()會讀入\n,但\n并不會成為返回的字符
舉個例子:import java.util.*;
public class static void main(String[] args){
Scanner in = new Scanner(System.in);
int N = in.nextInt();
for(int i = 0;i < N;i++){
String str = in.nextLine();
}
}
假如輸入 N 為 1,摁下回車,程序并不會讓你繼續輸入 str,而是直接結束了
解決方案
最好的解決辦法,在 nextInt() 和 nextLine() 之間放一個 in.nextLine() 來接收這個 “n”import java.util.*;
public class static void main(String[] args){
Scanner in = new Scanner(System.in);
int N = in.nextInt();
in.nextLine();
for(int i = 0;i < N;i++){
String str = in.nextLine();
}
}
總結
以上是生活随笔為你收集整理的java nextline没有停住_java中使用nextLine(); 没有输入就自动跳过的问题?的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: java网络编程与分布式计算_Java_
- 下一篇: 遮掩java_Java炸弹:重载、重写、
