Normal
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]
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]