JAVA中循环的递归问题

来源:互联网 发布:win7 删除网络驱动器 编辑:程序博客网 时间:2024/05/17 08:30

//int j=0;private void xuhao() {for (int j = 0; j < 5; j++) {if (zu>0&&zu<7) {   dosth();           }else {xuhao();// break;}}}


问题,当调用递归时 会出现两次循环 :递归后的循环结束 再回到递归前的循环 两次循环

原因 j是局部变量,当递归时,又定义了新的j,而原来的也还在 所以导致两次循环

解决1 : 将j变成全局变量 

解决2 :在递归后 break 

解决3:

使用continue

private void xuhao() {int j=0;for(;j<5;) {           if (zu>0&&zu<7) {   dosth();     j++;      }else {continue;}}}

套用递归那么每次出错都会从第一次开始

而用continue就会从当前出错位置开始



0 0
原创粉丝点击