2012-08-11 66 views
0

我想知道斷點有多少次被擊中。Java - 斷點多少次?

問題提出:對於前4個點擊中的每一個,記下currentMin的值,當前的最大值和中間值,可以在調試器中看到。

我的值是:n = 40,currentMin = 0,currentMax = 40,mid = 20。

這四個命中?或者我需要使用上述值四次循環四次?

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); 
     } 

} 
+0

我覺得這是一個有點混亂,因爲該類也叫「斷點」 。我假設問題指向你的while循環中的某個斷點? – phatfingers 2012-08-11 15:48:54

+0

對不起忘了添加斷點放在第5行和n的值爲40 – nsc010 2012-08-11 15:51:13

回答

1

如果斷點是張貼這條線:

if (mid * mid + mid + 1 <= n){ 

經過4次迭代的值應該閱讀..

n:40 mid:7 currentMin:5 currentMax:10 
+0

謝謝,我忘了添加斷點的哪一行。但是用你的榜樣,我得到了一般的要點 – nsc010 2012-08-11 16:07:54

1

,我同時通過程序追蹤收到的第一個四支分別是:

min=0, max=40, mid=20 

min=0, max=20, mid=10 

min=0, max=10, mid=5 

min=5, max=10, mid=7 

您需要繞過去功能四次獲得這些值。