ブレークポイントが何回ヒットするのか疑問に思いました。
質問は次のとおりです。最初の4つのヒットのそれぞれについて、デバッガーで表示できるcurrentMin、current Max、およびmidの値を書き留めます。
私が持っている値は、n = 40、currentMin = 0、currentMax = 40、mid=20です。
これは4つのヒットですか?または、上記の値を使用してサイクルを4回繰り返す必要がありますか?
public class Breakpoint {
public int breakp() {
int n = 40;
int currentMin = 0;
int currentMax = n;
while (currentMin < currentMax) {
int mid = (currentMin + currentMax) / 2;
if (mid * mid + mid + 1 <= n)//breakpoint is on this line {
currentMin = mid;
} else {
currentMax = mid;
}
}
return currentMin;
}
public static void main(String[] args) {
Breakpoint b = new Breakpoint();
int a = b.breakp();
System.out.println(a);
}
}