Pętla while i try catch - nie wykonuje się drugi raz po wyskoczeniu wyjątku

0

Powiedzmy ze mam cos takiego:

Scanner in = new Scanner(System.in); 

while(i!=0)
{
     try{
         int i = in.nextInt();
      }
      catch(InputMismatchException ime){
          System.out.print("zły format bla bla");
       }
}

dajmy na to wpisze "s" wyskoczy wyjatek, ale nastepnym razem nie wykonuje sie juz "try", dlaczego?

1

Musisz wyczyścić złe wejście przez np in.next()

2

Dlatego że nie czytasz dokumentacji?
When a scanner throws an InputMismatchException, the scanner will not pass the token that caused the exception, so that it may be retrieved or skipped via some other method.
http://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html

0

ok dzieki, dopiero sie ucze, nie pomyślałem o dokumentacji :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1