2016-06-02 10 views
0

Netbeansでは、私のプログラムは完璧に動作します。 Scannerを使用してユーザー入力を取得します。コマンドプロンプトからjarファイルを実行すると、どのようにユーザー入力を取得できますか?

しかし、私はコマンドプロンプトでjarファイルを実行すると、すべてのユーザー入力をスキップし、とにかくプログラムを実行します。なぜこれを行うのですか?これを修正するにはどうすればよいですか?

例:

public static void main(String[] args) 
{ 
System.out.print("How many teachers need an assignment (two classes will be assigned to each teacher)? "); 
     numTeachers = input.next(); 
} 

場合ので、その最初の行は、私はあなたがあなたの問題が、あなたのプログラムを実行する方法によって引き起こされるでしょうと思います印刷したことがないのでそれも

+0

コードなしの場合、この問題を引き起こす可能性がある多くの問題の1つでしか推測できません。最小、完全、および検証可能な例を投稿するための詳細については、http://stackoverflow.com/help/mcve – sorifiend

+1

jarファイルを間違って起動しているようです。あなたのプログラムはどうやって運営していますか?最初にコンソールを開き、コンソールの中から自分のjarファイルを起動しますか? – sorifiend

答えて

0

いずれかの最初の行を出力しませんそれは唯一の違いだネットビーンで動作します。あるので、あなたは、単にそれが即座に実行されます、あなたのjarファイルをダブルクリックすると

java -jar myapplication.jar

、および:

まず、通常のようにjarファイルを実行し、プログラムのフォルダにコンソールウィンドウを開きますコンソールはすぐに閉じることはありません。コンソールを使用するJavaプログラムは、コンソール/コマンドプロンプト/ターミナルからも実行する必要があります。

編集:ちょうどの場合には、スキャナのセットアップ方法をもう一度確認する価値があります。この例のように表示されます:https://stackoverflow.com/a/17691245/1270000

 public static void main(String args[]){ 

      Scanner scanner = new Scanner(System.in); 
      int eid,sid; 
      String ename; 
      System.out.println("Enter Employeeid:"); 
      eid=scanner.nextInt(); 
      scanner.nextLine(); //This is needed to pick up the new line 
      System.out.println("Enter EmployeeName:"); 
      ename=scanner.nextLine(); 
      System.out.println("Enter SupervisiorId:"); 
      sid=(scanner.nextInt()); 
    } 
関連する問題