我的意思是想在屏幕中输入一个整数,然后看看它是否为58,如果是就不断输出~~正确~~,如果不是就跳转到程序loop处执行,重新要求用户输入数字的。-------------我知道java中不能使用goto,所以就用下面代码,但是发现程序结果不能如愿!!它能分辨正确,可它不能实现错误后跳转执行的再输入!!!!求大家帮我解答一下这是为什么?错在哪里?或者应该怎样来实现???谢谢各位
代码如下:
import java.util.Scanner;
class Test  
 {
    public static void main(String[] args)  
     { 
       loop:{
              System.out.println("请输入你的年龄");
              Scanner scan=new Scanner(System.in);
              int n=scan.nextInt();
              while (n==58)
                {
                        System.out.println("正确");
                        try
                            {
                                Thread.sleep(1000);
                             }
                        catch (InterruptedException e){ }
                }
             System.out.println("错误,请再输入"); 
             break loop;
             }
      }
  }

解决方案 »

  1.   

    import java.util.Scanner;
    class Test   
     {
        public static void main(String[] args)   
         {  
           loop:{
                  System.out.println("请输入你的年龄");
                  Scanner scan=new Scanner(System.in);
                  int n=scan.nextInt();
                  while (n==58)
                    {
                      System.out.println("正确");
                      try
                        {
                           Thread.sleep(1000);
                         }
                      catch (InterruptedException e){ }
                     }
                  System.out.println("错误,请再输入");  
                  break loop;
                }
          }
      }
      

  2.   

    break label执行的还是break,label只是指定了break要跳出的区域 并不会回过去执行
    可以让不满足条件的情形一直继续循环import java.util.Scanner;public class Test {
    public static void main(String[] args) {
    System.out.println("请输入你的年龄");
    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();
    while (n != 58) {
    System.out.println("错误,请再输入");
    n = scan.nextInt();
    } System.out.println("正确");
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) {
    }
    }
    }
      

  3.   

    那么java有没有语句可以直接做到我心中的那种跳转效果呢??就像c语言中的goto或者像汇编的那样直接跳转到某一处执行呢?谢谢!--------如果没有,那你们一般有什么的方案呢?