2013-02-25 186 views
1

我對Java有點新,我想嘗試從鍵盤接收輸入。我知道我必須使用掃描儀,但是當我這樣做時,程序不會等待輸入。相反,它會立即拋出NoSuchElementException。我想使用的代碼如下:鍵盤輸入java

import java.util.*; 

public class Main { 
    public static void main(String args[]) { 
     int move = -1; 
     String moveColumn = ""; 
     Scanner scan = new Scanner(System.in); 

     System.out.print("Please enter a move: "); 
     moveColumn = scan.next(); 
     move = Integer.parseInt(moveColumn); 

     System.out.println("You chose " + moveColumn + "."); 
    } 
} 

從一切,我看過了,這個代碼塊應該工作,但事實並非如此。有人能指出我做錯了什麼,或者至少指出一些可以幫助我的資源嗎?

+0

你試過'scan.nextLine()'? – nattyddubbs 2013-02-25 18:52:39

+2

你也可以使用scan.nextInt(),所以你不必轉換字符串。 – HectorLector 2013-02-25 18:53:30

+2

我剛剛將該代碼複製並粘貼到Eclipse中,並且運行順暢。您使用的是什麼IDE? – christopher 2013-02-25 19:16:07

回答

0

我在終端上運行了你的代碼,它表現良好。程序等待一個數字(預期值)或一個字符串,這會引發一個預期的「NumberFormatException」。正如Survivor提到的(3月9日),安裝一個IDE(如Eclipse或Netbeans)是明智之舉,因爲它們提供了有用的調試工具。

-2

可以使用 moveColumn = scan.nextLine();

-1

可以更換 moveColumn = scan.next(); move = Integer.parseInt(moveColumn); 與 move = scan.nextInt()