简单问题不知道怎么办 我写一个代码..想在else后返回函数重新开始,,不知道怎么解决qwe(){} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 qwe(){ if(...){ ........... } else(...){ .......... return ; } } 在java中虽然没有使用goto,但你可以使用continue,这是以前目前时间偶老师教的。here:qwe(){ if(...){ ........... } else(...){ .......... continue here; } } 一楼的,return就退出函数了,不会再返回到开头重新执行的。二楼的说法听着就新鲜,函数还能带label,还能continue,这不是JAVA,是你们老师自创的语言吧?^_^楼主:你的问题递归就可以了,在else里调用函数自身。不过要注意设置条件终止递归,不然就是死循环了。 continue做goto仅限于跳出循环的情况,所以像2楼那样,是不行的。所有需要goto的问题都可以通过循环代替,像楼主所说可以用do{...}while(); void function(){ while(true) { if (条件成立) { doSomething(); } else { if (退出条件成立) return; doSomethingElse(); } }} 用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 break和continue配合label一起使用就相单于goto,但注意berak和continue配合label一起使用时是有区别的:运行下面的代码你可以看到他们的区别://breakclass Test{ public static void main(String[] args){ int i=0; label: while(true){ System.out.println("a"); i++; if(i>5) break label; } }}//continueclass Test{ public static void main(String[] args){ int i=0; label: while(true){ System.out.println("a"); i++; if(i>5) continue label; } }} 正解在此:class Test{ public static void main(String[] args){ int i=0; label: while(true){ i++; if(i<=5) { System.out.println("###"); } else { break label; } } }} 呵呵,是偶打label放错地方,老师没有错误。不好意思啊。其实continue label和break label没有什么区别的。 输出以下图形.其中图形的大小由用户输入来决定。 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享! java会被淘汰么? JAVA与H.264的问题 如何提取一个byte数组中的字符(包含中文和英文) dom输出字符串问题??????? 如何在一个文本文件中的根据一个条件在特定行写入一行文本把当前行覆写掉啊? 哪里有jbuilder7补丁3下,多谢了 高分求java applet源代码,用于网页密码验证,急,在线等候,100分 求解哪里错了 急求:请大家给我推荐关于JAVA的书籍 引用类型可以直接转换成原始类型吗?
if(...){
...........
}
else(...){
..........
return ;
}
}
here:
qwe(){
if(...){
...........
}
else(...){
..........
continue here;
}
}
二楼的说法听着就新鲜,函数还能带label,还能continue,这不是JAVA,是你们老师自创的语言吧?^_^
楼主:你的问题递归就可以了,在else里调用函数自身。不过要注意设置条件终止递归,不然就是死循环了。
所有需要goto的问题都可以通过循环代替,像楼主所说可以用
do{
...
}while();
{
while(true)
{
if (条件成立)
{
doSomething();
}
else
{
if (退出条件成立)
return;
doSomethingElse();
}
}
}
可以使用带标号的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
运行下面的代码你可以看到他们的区别://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;
}
}
}
class Test{
public static void main(String[] args){
int i=0;
label:
while(true){
i++;
if(i<=5) {
System.out.println("###");
} else {
break label;
}
}
}
}
其实continue label和break label没有什么区别的。