我写一个代码..想在else后返回函数重新开始,,不知道怎么解决qwe(){}

解决方案 »

  1.   

    qwe(){
       if(...){
           ...........
       }
       else(...){
           ..........
          return ;
       }
     }
      

  2.   

    在java中虽然没有使用goto,但你可以使用continue,这是以前目前时间偶老师教的。
    here:
    qwe(){
       if(...){
           ...........
       }
       else(...){
           ..........
          continue here;
       }
     }
      

  3.   

    一楼的,return就退出函数了,不会再返回到开头重新执行的。
    二楼的说法听着就新鲜,函数还能带label,还能continue,这不是JAVA,是你们老师自创的语言吧?^_^
    楼主:你的问题递归就可以了,在else里调用函数自身。不过要注意设置条件终止递归,不然就是死循环了。
      

  4.   

    continue做goto仅限于跳出循环的情况,所以像2楼那样,是不行的。
    所有需要goto的问题都可以通过循环代替,像楼主所说可以用
    do{
    ...
    }while();
      

  5.   

    void function()
    {
        while(true)
        {
            if (条件成立)
            {
                 doSomething();
            }
            else
            {
                 if (退出条件成立)
                      return;
                 doSomethingElse();
            }
        }
    }
      

  6.   

    用return是不对的,直接就跳出程序啦
    可以使用带标号的break语句
    经调试正确:public class test
    {
      public static void main(String []args)
        {
          a:
            { while(true)
            {
                c:{   if (条件成立)
                     {
                                  doSomething();
                         break a;//如果执行完if,不想回到程序开始,想退出,就执行这条语句.如果想继续从函数开始执行,就不用写该语句.
                               }
                              else
                               {
                                 break c;
                               }
       }//c程序块
                  }//while语句
      }//a程序块
        }//main}test
      

  7.   

    break和continue配合label一起使用就相单于goto,但注意berak和continue配合label一起使用时是有区别的:
    运行下面的代码你可以看到他们的区别://break
    class Test{
    public static void main(String[] args){
    int i=0;
    label:
    while(true){
    System.out.println("a");
    i++;
    if(i>5) break label;
    }
    }
    }//continue
    class Test{
    public static void main(String[] args){
    int i=0;
    label:
    while(true){
    System.out.println("a");
    i++;
    if(i>5) continue label;
    }
    }
    }
      

  8.   

    正解在此:
    class Test{
    public static void main(String[] args){
    int i=0;
    label:
    while(true){
    i++;
    if(i<=5) {
    System.out.println("###");
    } else {
    break label;
    }
    }
    }
    }
      

  9.   

    呵呵,是偶打label放错地方,老师没有错误。不好意思啊。
    其实continue label和break label没有什么区别的。