2017-06-27 8 views
-9
public class Main { 

    public static void main(String[] args) { 

     System.out.println("Please enter a math value."); 
     Scanner sayiyaz = new Scanner(System.in); 

     if(sayiyaz.hasNextInt()) { 
      int sayi1 = sayiyaz.nextInt(); 
     } 
     else { 
      System.out.println("I wish u could know what is a math value ."); 
     } 
    } 
} 

コードのelseブロックで、私は最初から "main"メソッドを再起動し、同じ質問をします。mainメソッドを再起動するには?

しかし、それを行う方法は?

+6

がループについてのチュートリアルを読んでもらいますnutsandbolts/flow.html) –

+2

プログラムを再実行してください: – ControlAltDel

+0

は 'main(args)'を呼び出します。 – xenteros

答えて

0

答えはメインを再起動したくないということです。これは、Java仮想マシンがアプリケーションを起動するために使用するエントリポイントです。あなたが欲しいものを行う最も簡単な方法は、ループを使用することですので、何かのように:

while (true) { 
    System.out.println("Please enter a math value"); 

    // The rest of your code. 

    if (finished) 
    break; 
} 
+0

ああそれは大きなマスターthats!ありがとう:)私はあなたの視点を逃した:) – DanTeS9

1

あなたがしたい場合(Sudhakarが推薦しのように)あなたはそれを呼び出すことができますが、私はあなただけまでの入力を要求することを前提としてい[Javaコントロール・フロー計算書](https://docs.oracle.com/javase/tutorial/java/:あなたが持っている場合には、あなたのニーズに合った何か、よりよい解決策

public static void main(String[] args) { 
    boolean done = false; 
    Integer sayi1 = null; 
    do { 
     System.out.println("Please enter a math value."); 
     Scanner sayiyaz = new Scanner(System.in); 
     if (sayiyaz.hasNextInt()) { 
      sayi1 = sayiyaz.nextInt(); 
      done = true; 
     } else { 
      System.out.println("Input is wrong "); 
     } 
    } while (!done); 

    System.out.println("Here is youre input " + sayi1); 
} 
関連する問題