2011-06-09 107 views
2
Scanner kb = new Scanner(System.in); 
    System.out.println("Inserting L"); 
    int L = kb.nextInt(); 
    System.out.println("Inserting N"); 
    int N = kb.nextInt(); 
    System.out.println("Inserting x"); 
    String x = kb.nextLine(); 
    System.out.println(x); 
    System.out.println("You inputed L,N,x"); 

爲什麼在這段代碼中沒有提示nextLine()Java掃描器爲什麼我的代碼中的nextLine()被跳過?

+0

你是什麼意思? – 2011-06-09 08:05:13

回答

2

用途:

String x = kb.next(); 

,而不是kb.nextLine()

這是因爲nextInt()只讀取數字,而不是行尾或數字後的任何內容。當您撥打nextLine()時,它會讀取同一行的其餘部分,不會等待輸入。

理想情況下,您應該在nextInt()的代碼之後撥打kb.nextLine()以忽略該行的其餘部分。

+0

+1用於解釋輸入緩衝區中剩餘字符。 – 2011-06-09 08:06:48

0
Scanner kb = new Scanner(System.in); 
    System.out.println("Inserting L"); 
    int L = kb.nextInt(); 
    System.out.println("Inserting N"); 
    int N = kb.nextInt(); 
    System.out.println("Inserting x"); 
    String x = kb.next(); 
    System.out.println(x); 
    System.out.println("You inputed L,N,x"); 

試試這個...