首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

遇到了关于这个循环返回值的困惑,高手帮忙看看啊解决思路

2012-06-05 
遇到了关于这个循环返回值的困惑,高手帮忙看看啊Java codepublic boolean check(int a){System.out.printl

遇到了关于这个循环返回值的困惑,高手帮忙看看啊

Java code
            public boolean check(int a){                System.out.println(routeNum+"+"+a+"+"+nextNum);                for(int i=0;i<routeNum.length();i++){                    if(Integer.toString(a).equals(routeNum.charAt(i)))                        return false;                }                return true;            }


这个函数为什么只返回true,如果我改成只执行循环的话就像这样:

Java code
            public boolean check(int a){                System.out.println(routeNum+"+"+a+"+"+nextNum);                for(int i=0;i<routeNum.length();i++)                    if(Integer.toString(a).equals(routeNum.charAt(i)))                        return false;            }


就会提示缺少返回语句。

java里不能这样在循环里返回值吗?如果想实现这个该怎么办呢?求高手指点~

[解决办法]
第一段程序的if条件应该不会成立,因为charAt()返回的类型是char,你用String跟Character比是否equals,必然永远不能成立。

改为:
if(Integer.toString(a).equals(Character.toString(routeNum.charAt(i))))


另外,第二段程序肯定是错的,如果for循环正常结束,那么就没有return来指定返回值,逻辑上就是错的。

热点排行