Saturday 15 January 2011

Restarting while loop after false boolean in Java? -



Restarting while loop after false boolean in Java? -

i'm new java , i'm running bit of trouble. i'm doing assignment school requires find largest of 10 numbers. numbers between 0-9. believe got part down. problem i'm trying add together feature not required assignment. trying loop restart after boolean statement false , gives error message. after type invalid value in, gives error message, after press "ok" continues on next number. want start @ origin of loop.

here's code:

package largest;

import java.util.scanner;

import javax.swing.joptionpane; public class largestmain {

public static void main(string[] args) { int number = 0; string numstr = ""; int []myarray = new int[10]; int count = 1; int largest = 0; boolean valid = false; while(valid == true);// loop check validity { for(int = 0; < myarray.length; i++) { myarray[i] = + 1; numstr = joptionpane.showinputdialog("please come in number " + count++ + ":"); number = integer.parseint(numstr);//converts string value integer if(number >= largest) { largest = number; } //if/else if statements checks if values entered equal 0-9 if(number >= 0 && number <= 9) { valid = true; } else if ((!(number >= 0 && number <= 9))) { valid = false; } if (valid == false) { joptionpane.showmessagedialog(null, "invalid input...try again!!!", "results", joptionpane.yes_option); continue; } } joptionpane.showmessagedialog(null, "the largest number is: " + largest, "results", joptionpane.plain_message); } }

}

i end loop here adding return

if (valid == false) { joptionpane.showmessagedialog(null, "invalid input...try again!!!", "results", joptionpane.yes_option); return; }

i want larn how restart loop beginning. tried search different topics, none helped me solve problem. help in advance!

since you're beginner , trying learn, have done review of code , enclosed comments might help you. have posted updated code below.

declarations: should declare variable in innermost closure requires it. except largest, other can go within for.

your array variable did not create sense have. since you're keeping track of largest go , not finding @ end.

control: /loop check validity/ needs strictly around input part, not whole program, can repeat input statements till you're satisfied.

public static void main(string[] args) { int largest = 0; for(int = 1; <= 10; i++) { boolean valid = false; while (!valid) { string numstr = joptionpane.showinputdialog("please come in number " + + ":"); int number = integer.parseint(numstr); //converts string value integer if (number >= 0 && number <= 9) { valid = true; } else { joptionpane.showmessagedialog(null, "invalid input...try again!!!", "results", joptionpane.yes_option); } } if (number > largest) { largest = number; } } joptionpane.showmessagedialog(null, "the largest number is: " + largest, "results", joptionpane.plain_message); }

java while-loop boolean-expression

No comments:

Post a Comment