0

我有以下方法:

从我所学到的方法中,不是空的方法需要返回。对于以下示例,我可以看到两个返回,一个在 if() 之后,一个在最后。对于此示例,如果 String s 不是数字,则它将布尔值返回为 false。这是有道理的。如果它是一个数字,那么它将检查它是否在区间内。我想我对在这种情况下是否可以有多个回报以及限制是什么(如果有的话)感到困惑。谢谢你。

    private boolean ElementBienFormat(String s) {
    for (int i = 0; i < s.length(); i++) {
        if (!Character.isDigit(s.charAt(i))) {
            return false;
        }
    }

    int n = Integer.valueOf(s);

    return (n>=0 && n <=255);
4

1 回答 1

1

当控制到达 a 时,方法将“退出”(返回)return。所以在这种情况下,只要输入String控件中的字符不是数字,就会返回给调用者(使用适当的值)。

boolean success = ElementBienFormat( "a" ); // <-- control would go back here with the value of false. 

另一个快速说明是一个void方法也可以有多个return语句

private void Method( int n )
{
    if( n < 0 )
       return; 

    //...

    //implicit
    //return;
} 
于 2013-11-11T21:20:30.127 回答