初学者,今天在写一个分数判断的时候用到一个自定义的方法
//判断数组里面有没有指定的数字
private boolean ifExistNum(int[] array, int id) {
boolean b = false;
for (int anInt : array) {
if (anInt == id) {
b = true;
break;
}else{
return b;
}
}
return b;
}
非常基础的错误,问题出在else return b,在循环的过程中假设有一次不走TRUE,就会走了else return b这一条,而不去继续进行循环查找,直到找到对应的数或者是全部也没找到,就会果断的判断出结果为false,这是很显然的错误,也导致了我在业务逻辑中分数判断的失误。
所以正确做法是删掉else{ return b}的判断
总结:人写代码不可能一次正确,总会有BUG的时候,所以代码规范和寻找BUG,解决问题的能力很重要,可以多写测试类以debug,学会看错误信息等,其次这类的错误来源于代码基础不牢固,有空应该多练习类似这种的锻炼代码基础能力的题目,也要学习多种优秀的调试,纠错的方法,一步步排查问题所在,并从中去学习相关的基础知识,打牢基础才能减少类似的错误,提高学习和开发效率。