question on this java code segment -
the following code claimed use loop flag repeat input until valid int obtained.
{ try { // attempt convert string int n = integer.parseint( s ); goodinput = true; } catch ( numberformatexception nfe ) { s = joptionpane.showinputdialog( null, s + " not integer. enter integer" ); } } while ( !goodinput );
i little confusing logic here. if integer.parseint works fine, or there no exception occuring, "goodinput" assigned "true" @ line of
goodinput = true;
then !goodinput evaluated false, while loop continue again. seems me contradicts designed logic, i.e., while loop should stop after performing correct parse operation. wrong analysis above.
do { } while(x);
loops while x == true
, i.e. until x == false
.
therefore, do { } while(!x);
loops while x == false
, i.e. until x
true
.
Comments
Post a Comment