Auf Thema antworten

Ich persönlich würde den try-catch um den .nextInt() beibehalten (aber die System.out-Zeilen rausschmeißen, und was genau soll 'trial' sein? -> umbenennen). Wenn's komplett ohne Exceptions sein soll, kann man den Aufruf aber auch kapseln:[code=Java]boolean bReadSuccess = false ;

do{

  while( !Scanner.hasNext() ) {

    // Die nachfolgende Zeile kann man weglassen, dann wird's aber ein "busy waiting".

    try{ Thread.sleep(100); } catch( InterruptedException iE ) { ; }

  } // end while

  // now Scanner has another token

  if( Scanner.hasNextInt() )

  {

    order = Scanner.nextInt() ;

    bReadSuccess = (order >=0) && (order <= 1);

  } // end if

  // skip <ENTER>

  Scanner.next();

} while( ! bReadSuccess );[/code]



Oben