2017-11-26 13 views
0

私は確かな検証プロセスを作成しようとしていますが、私が理解できないのはsc.next()です。方法。この方法がなければ、ユーザーをスキャナの入力に戻すことはできません。このメソッドが実際に働いていることを説明してください。Javaの検証sc.next();メソッド

public static void main(String[] args) { 
    Scanner input = new Scanner (System.in); 

    int a; 
    int b; 

    do { 
     System.out.println("Enter two integer digits"); 
     while (!input.hasNextInt()) { 
      System.out.println("An error has occured. Enter two integer digits"); 
      input.next(); // What this method is actually working for? 
     } 
     a = input.nextInt(); 
     b = input.nextInt(); 
    } while (a == 0 && b == 0); 
} 

}

+1

https://docs.oracle.com/javase/9​​/docs/api/java/util/Scanner.html#next-- – Seelenvirtuose

答えて

0

hasNextInt()ユーザーならば、あなたが無限ループを持っているだろうという意味、それゆえ、任意の入力過去のスキャナ前進を行わないようinput.next();への呼び出しは、ユーザーの入力を消費するために使用されます整数以外を入力します。この特定のケースでは、入力を消費して破棄するために単にinput.next();というコールを使用します。