あるものを判定するためのメソッドでは、目的の数字があるかどうかの情報を保持するためにboolean型のflagを使いがちだが、実装においては必ずしも必要なわけでなく、むしろ無い方が全体のコードがすっきりする場合が多い。
そして、関数内でもし目的の数字が見つかった場合、すぐreturnで返してやることにより、そもそもbooleanの変数が必要なくなり、実際かなりみやすくなる。
public static boolean find(int data, int target) {
boolean flag = false;
for (int i = 0; i < data.length && !flag; i++) {
if (data[i] == target) {
flag = true;
}
}
return flag;
}
public static boolean find2(int data, int target) {
boolean flag = false;
for (int i = 0; i < data.length; i++) {
if(data[i] == target) {
flag = true;
break;
}
}
return flag;
}
public static boolean find3(int[] data, int target) {
for (int i = 0; i < data.length; i++) {
if (data[i] == target) {
return true;
}
}
return false;
}