Java 返回true,然后从for循环中断
我是java新手。 我一直试图做一些没有成功的事情。 基本上我想做的是创建一个返回true或false的方法。该方法获取一些参数,检查某个数组是否已满,如果未满,则将参数推送到非空的第一个单元格,返回true,而不继续检查数组的其余部分。 如果数组已满,则返回false。 代码如下:Java 返回true,然后从for循环中断,java,Java,我是java新手。 我一直试图做一些没有成功的事情。 基本上我想做的是创建一个返回true或false的方法。该方法获取一些参数,检查某个数组是否已满,如果未满,则将参数推送到非空的第一个单元格,返回true,而不继续检查数组的其余部分。 如果数组已满,则返回false。 代码如下: public boolean add( param1, param2, param3 ){ for( int i = 0; i < array.length; i++ ){ if ( array[i]
public boolean add( param1, param2, param3 ){
for( int i = 0; i < array.length; i++ ){
if ( array[i] == null ){
array[i] = new SomeObject( param1, param2, param3 );
return true;
break;
}
}
return false;
}
public boolean add(param1、param2、param3){
for(int i=0;i
但我得到了错误——“break;”的“unreachable statement”。
有什么帮助吗
提前谢谢 因为您有一个return语句,所以不需要从循环中中断,因为return语句结束了方法的执行。只需删除
break
语句。因为有些人坚持函数只有一个返回点,所以函数可以按如下方式重新表述,与原始问题的明显期望相匹配
public boolean add( param1, param2, param3 ){
boolean result = false;
for( int i = 0; i < array.length; i++ ){
if ( array[i] == null ){
array[i] = new SomeObject( param1, param2, param3 );
result = true;
break;
}
}
return result;
}
public boolean add(param1、param2、param3){
布尔结果=假;
for(int i=0;i
是的,因为控件遇到返回语句的那一刻,它只是从方法、开关或循环中退出。因此,写在返回语句下面的任何代码都将是“不可访问的”。因此,建议将返回放在(方法)块的最后一个除非需要,否则最好不要在单个块中的return语句之后编写任何代码,以免出现错误。非常感谢您的评论。因此,基本上每次方法中有一个return语句时,它都会结束执行,即使返回在3个嵌套循环中也是如此?@Avishay28是的,return
总是从方法中返回。一种合理的方法,尽管将Result
大写,是对约定的一种不和谐的背离。为什么要生成另一个变量?它比原始代码好多少(当然没有break语句)感谢您的评论,我已经将其资本化,使其更加社会主义。@Avishay28从某种客观意义上讲,它不是“更好”;然而,在我看来,原始海报的直觉是返回语句不会立即终止函数。