java - loop function to clear field -


trying create high-low game loop function count amount of tries , allow user keep re-entering until random number generated matches entered value user, output messages if it's low or high doesn't loop function or clear field allow guess

here's have far;

/** * simple guessing game program. *  * program thinks of random number between 1 , 100 * , asks user guess number.   * appropriate message displayed depending upon right * or wrong answer. *  */  import javax.swing.*;       // jpanel, jlabel, etc import java.awt.event.*;    // actionlistener, actionevent import java.awt.*;          // color import java.util.*;         // random class   class hilo8 implements actionlistener  { // define object references jframe myframe; jpanel mypanel; jbutton startbutton, makeguessbutton, submitbutton,         playagainbutton, exitbutton; jlabel message1label, message2label, message3label;  jtextfield inputnumbertxtfield; random randomgenerator; int    randomnumber;  // constructor method hilo8() {     // set frame     myframe = new jframe("guess number game");      // set panel object.  use absolute positioning.     mypanel = new jpanel();     mypanel.setlayout (null);       // create random generator object     randomgenerator = new random();      // push button used start game off.     startbutton = new jbutton ("press start game...");     startbutton.setbounds (10, 30, 400, 30);      mypanel.add (startbutton);      // label object (initially no string)     // used let user know     // program thinking of number     message1label = new jlabel ();     message1label.setbounds (10,80,500,20);     mypanel.add (message1label);      makeguessbutton = new jbutton ("click make guess.. ");     makeguessbutton.setbounds (10, 140, 400, 30);     mypanel.add (makeguessbutton);      // label object used prompt      // user enter number     message2label = new jlabel ("what number? ");     message2label.setbounds (10, 200, 500, 20);     mypanel.add (message2label);      // textfield object user types in      // number.  default value of 1 provided     inputnumbertxtfield = new jtextfield ("1");     inputnumbertxtfield.setbounds (220, 200, 30, 20);     mypanel.add (inputnumbertxtfield);      // after user types in number (guess),      // he/she must press button continue     submitbutton = new jbutton ("submit guess");     submitbutton.setbounds (300, 200, 150, 30);     mypanel.add (submitbutton);      // object (initially empty) let     // user know whether guess or right     // or wrong     message3label = new jlabel();     message3label.setbounds (10, 250, 500, 20);     mypanel.add (message3label);        // push button allows user     // exit application.     exitbutton = new jbutton ("exit game");     exitbutton.setbounds (250, 300, 100, 30);     mypanel.add ( exitbutton );      // following components made     // invisible     message2label.setvisible ( false );           makeguessbutton.setvisible (false);     inputnumbertxtfield.setvisible (false);     submitbutton.setvisible (false);             exitbutton.setvisible ( false );       // register push button objects     // actionevent     startbutton.addactionlistener (this);     makeguessbutton.addactionlistener (this);     submitbutton.addactionlistener (this);     exitbutton.addactionlistener (this);      // add panel frame     myframe.add (mypanel);      // size frame , make visible     myframe.setbounds(50,100,500,450);     myframe.setvisible(true);     }    // implement actionperformed method   public void actionperformed(actionevent  event)     {       // local variables       string str;       int number;       int numberoftries = 0;        // did user press start button       if ( event.getsource() == startbutton)         {             // disable startbutton             startbutton.setenabled ( false );              // tell user program thinking of              // number             message1label.settext ("thinking of number between 1 - 100");              // generate random number between 1 100             //   nextint (100) generates random no.             //   between 0 9, add 1 on scale             randomnumber = randomgenerator.nextint(100) + 1;             numberoftries++;              // make makeguess button visible             makeguessbutton.setvisible ( true );          }        else // check see if it's makeguessbutton         if ( event.getsource() == makeguessbutton )           {               // disable makeguessbutton               makeguessbutton.setenabled ( false );                // elements asking user               // make guess , submit answer                // made visible               message2label.setvisible ( true );               inputnumbertxtfield.setvisible ( true );               submitbutton.setvisible ( true );               // make sure cursor in textfield               inputnumbertxtfield.requestfocus();           }        else // check see if it's submit button         if ( event.getsource() == submitbutton )           {               // read contents off textfield               str = inputnumbertxtfield.gettext();               // convert integer number               number = integer.valueof ( str );                // disable textfield , submitbutton               inputnumbertxtfield.setenabled ( false );               submitbutton.setenabled ( false );                // check see if user guessed correctly               if ( number == randomnumber )                 {   // guessed correctly                     message3label.settext ("well done.  you've guessed correctly" + " it's taken " +       numberoftries + " tries");                 }               else if ( number < randomnumber )  // otherwise, got wrong!                 {                     message3label.settext ("your guess low" + " it's taken " + numberoftries + " tries");                 }               else if ( number > randomnumber )  // otherwise, got wrong!                 {                     message3label.settext ("your guess high" + " it's taken " + numberoftries + " tries");                 }                // make exitbutton                // visible               exitbutton.setvisible ( true );           }         else // exitbutton pressed         if ( event.getsource() == exitbutton )            {                system.exit (0);   // exit application            }    }   // main() method - program class execution  // starts  public static void main()    {        hilo8 start = new hilo8();    }     } 

i edited code bit left comments in /* */ can differentiate them own. check if how wanted code work you. friendly advice though when you're making application uses jframe setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close) friend.

/** * simple guessing game program. *  * program thinks of random number between 1 , 100 * , asks user guess number.   * appropriate message displayed depending upon right * or wrong answer. *  */  import javax.swing.*;       // jpanel, jlabel, etc import java.awt.event.*;    // actionlistener, actionevent import java.awt.*;          // color import java.util.*;         // random class   class hilo8  { // define object references jframe myframe; jpanel mypanel; jbutton startbutton, makeguessbutton, submitbutton,         playagainbutton, exitbutton; jlabel message1label, message2label, message3label;  jtextfield inputnumbertxtfield; random randomgenerator; int    randomnumber;  /*  * variables moved local global  */ string str; int number; int numberoftries = 0;  // constructor method hilo8() {     // set frame     myframe = new jframe("guess number game");      // set panel object.  use absolute positioning.     mypanel = new jpanel();     mypanel.setlayout (null);       // create random generator object     randomgenerator = new random();      // push button used start game off.     startbutton = new jbutton ("press start game...");     startbutton.setbounds (10, 30, 400, 30);      mypanel.add (startbutton);      // label object (initially no string)     // used let user know     // program thinking of number     message1label = new jlabel ();     message1label.setbounds (10,80,500,20);     mypanel.add (message1label);      makeguessbutton = new jbutton ("click make guess.. ");     makeguessbutton.setbounds (10, 140, 400, 30);     mypanel.add (makeguessbutton);      // label object used prompt      // user enter number     message2label = new jlabel ("what number? ");     message2label.setbounds (10, 200, 500, 20);     mypanel.add (message2label);      // textfield object user types in      // number.  default value of 1 provided     inputnumbertxtfield = new jtextfield ("1");     inputnumbertxtfield.setbounds (220, 200, 30, 20);     mypanel.add (inputnumbertxtfield);      // after user types in number (guess),      // he/she must press button continue     submitbutton = new jbutton ("submit guess");     submitbutton.setbounds (300, 200, 150, 30);     mypanel.add (submitbutton);      // object (initially empty) let     // user know whether guess or right     // or wrong     message3label = new jlabel();     message3label.setbounds (10, 250, 500, 20);     mypanel.add (message3label);        // push button allows user     // exit application.     exitbutton = new jbutton ("exit game");     exitbutton.setbounds (250, 300, 100, 30);     mypanel.add ( exitbutton );      // following components made     // invisible     message2label.setvisible ( false );           makeguessbutton.setvisible (false);     inputnumbertxtfield.setvisible (false);     submitbutton.setvisible (false);             exitbutton.setvisible ( false );       // register push button objects     // actionevent     /*      * actionlistener startbutton      */     startbutton.addactionlistener (new actionlistener() {          @override         public void actionperformed(actionevent e) {             // disable startbutton             startbutton.setenabled ( false );              // tell user program thinking of              // number             message1label.settext ("thinking of number between 1 - 100");              // generate random number between 1 100             //   nextint (100) generates random no.             //   between 0 9, add 1 on scale             randomnumber = randomgenerator.nextint(100) + 1;             /*              * removed since logically should increasing 'tries' when submitbutton pushed              */             //numberoftries++;              // make makeguess button visible             makeguessbutton.setvisible ( true );          }     });      /*      * actionlisterner makeguessbutton       */     makeguessbutton.addactionlistener (new actionlistener() {          @override         public void actionperformed(actionevent e) {             // disable makeguessbutton               makeguessbutton.setenabled ( false );                // elements asking user               // make guess , submit answer                // made visible               message2label.setvisible ( true );               inputnumbertxtfield.setvisible ( true );               submitbutton.setvisible ( true );               // make sure cursor in textfield               inputnumbertxtfield.requestfocus();         }     });      /*      * action listener submitbutton      */     submitbutton.addactionlistener (new actionlistener() {          @override         public void actionperformed(actionevent e) {             // read contents off textfield               str = inputnumbertxtfield.gettext();               // convert integer number               number = integer.valueof ( str );                /*                * increase number of 'tries'                */               numberoftries++;                // disable textfield , submitbutton               /* inputnumbertxtfield.setenabled ( false );                * submitbutton.setenabled ( false );                * keep textfield , button enabled until user guesses                * otherwise user wont able make guess                */               // check see if user guessed correctly               if ( number == randomnumber )                 {   // guessed correctly                     message3label.settext ("well done.  you've guessed correctly" + " it's taken " +       numberoftries + " tries");                     /*                      * disable textfield , button                      */                     inputnumbertxtfield.setenabled(false);                     submitbutton.setenabled(false);                 }               else if ( number < randomnumber )  // otherwise, got wrong!                 {                     message3label.settext ("your guess low" + " it's taken " + numberoftries + " tries");                 }               else if ( number > randomnumber )  // otherwise, got wrong!                 {                     message3label.settext ("your guess high" + " it's taken " + numberoftries + " tries");                 }                // make exitbutton                // visible               exitbutton.setvisible ( true );         }     });     /*      * actionlistener exitbutton      */     exitbutton.addactionlistener (new actionlistener() {          @override         public void actionperformed(actionevent e) {             system.exit(0);         }     });      // add panel frame     myframe.add (mypanel);      // size frame , make visible     myframe.setbounds(50,100,500,450);     myframe.setvisible(true);     myframe.setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close);    }   // main() method - program class execution  // starts  public static void main(string[] args)    {        hilo8 start = new hilo8();    }     } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -