title: Goto statements in Java
body: <p>I executed the below code in <a href="http://en.wikipedia.org/wiki/Eclipse_%28software%29" rel="nofollow">Eclipse</a>, but the <code>GOTO</code> statements in it are not effective. How do I use it?</p>
  
  <p>How do I rewrite the above code using the Break and Continue statements without using the goto statement?</p>
  
  <pre><code>import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  
  /**
   *
   */
  
  /**
   * @author Home
   *
   */
  public class student
  {
      /**
      * @param args
      */
      String average(float sub1,float sub2,float sub3)
      {
          float average = (sub1+sub2+sub3)/3;
          if( average &gt; 50)
              return "PASS";
          else
              return "FAIL";
      }
  
      String addName(String name)
      {
          return name;
      }
  
      public static void main(String[] args) throws NumberFormatException, IOException
      {
          // TODO Auto-generated method stub
          BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
          student stu = new student();
          int loop_option = 0;
          do
          {
              System.out.println("--------------STUDENT DETAILS---------------");
              System.out.println("Choose the operation from the following options.");
              System.out.println(" 1.ADDNAME");
              System.out.println(" 2.AVERAGE_RESULT");
              System.out.println(" 3.EXIT");
              System.out.println("CHOOSE THE OPERATION U WANT:");
  
              int option = Integer.parseInt(br.readLine());
              switch(option)
              {
                  case 1:
                      System.out.println("Enter the name");
                      String name = br.readLine();
                      System.out.println("The Inserted student name is " +stu.addName(name));
                  break;
  
                  case 2:
                      outsideloops:
                      System.out.println("Enter the marks (in 100):");
                      System.out.println("Subject 1:");
                      float sub1 = Float.parseFloat(br.readLine());
                      if (sub1 &gt;= 101)
                          goto outsideloops;
                      System.out.println("Subject 2:");
                      float sub2=Float.parseFloat(br.readLine());
                      System.out.println("Subject 3:");
                      float sub3=Float.parseFloat(br.readLine());
                      System.out.println("The Student is "+stu.average(sub1,sub2,sub3)+ "in the examinations");
                      break;
  
                  case 3:
                      System.exit(0);
  
                  default:
                      System.out.println("Please choose the valid option");
                      //break;
              }
              System.out.println("if U want 2 use further press 1 to continue...");
             loop_option=Integer.parseInt(br.readLine());
          }
          while (loop_option == 1);
          System.out.println("The STUDENT program is terminating now.");
      }
  }
  </code></pre>
  
  <p>By the following code as suggested by one of the Stack&nbsp;Overflow members made me to write the following code:BUT that is also wrong.. I am thinking why the deleted the GOTO statements in Java?</p>
  
  <p>This is not working either.</p>
  
  <pre><code>import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  
  public class Main {
      String average(float sub1,float sub2,float sub3)
      {
          float average=(sub1+sub2+sub3)/3;
          if( average&gt;50)
              return "PASS";
          else
              return "FAIL";
      }
  
      String addName(String name)
      {
          return name;
      }
  
      public static void main(String[] args) throws NumberFormatException, IOException {
          // TODO Auto-generated method stub
          BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
          Main stu = new Main();
  
          float sub1 = 0;
          int goThere = 0;
  
          do {
              switch(goThere){
                  case -1:
                      System.out.println("if U want 2 use further press 0 to continue...");
                      goThere = Integer.parseInt(br.readLine());
                      continue;
  
                  case 0:
                      System.out.println("--------------STUDENT DETAILS---------------");
                      System.out.println("Choose the operation from the following options.");
                      System.out.println(" 1.ADDNAME");
                      System.out.println(" 2.AVERAGE_RESULT");
                      System.out.println(" 3.EXIT");
                      System.out.println("CHOOSE THE OPERATION U WANT:");
  
                      goThere = Integer.parseInt( br.readLine() );
                      continue;
  
                  case 1:
                      System.out.println("Enter the name");
                      String name = br.readLine();
                      System.out.println("The Inserted student name is " + stu.addName(name));
                      goThere = -1;
                      continue;
  
                  case 2:
                      System.out.println("Enter the marks (in 100):");
                      System.out.println("Subject 1:");
                      sub1 = Float.parseFloat(br.readLine());
                      goThere = 4;
                      continue;
  
                  case 4:
                      {
                          if( sub1 &gt;= 101)
                          {
                              goThere = 2;
                          }
                          else {goThere = 3;}
                      }
                      continue;
  
                  case 3:
                      System.out.println("Subject 2:");
                      float sub2=Float.parseFloat(br.readLine());
                      goThere =5;
                      continue;
  
                  case 5:
                      {
                          if( sub2 &gt;= 101)
                          {
                              goThere = 3;
                          }
                          else {
                              goThere = 6;
                          }
                      }
                      continue;
  
                  case 6:
                      System.out.println("Subject 3:");
                      float sub3 = Float.parseFloat(br.readLine());
                      goThere = 7;
                      continue;
  
                  case 7:
                      {
                          if( sub3 &gt;= 101)
                          {
                              goThere = 6;
                          }
  
                      }
                      continue;
  
                      System.out .println("The Student is " + stu.average(sub1,sub2,sub3) + "in the examinations");
                      goThere = -1;
                      continue;
              }
              break;
          } while(true);
      }
  }
  </code></pre>