2012-08-11 68 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 

您需要绕过去功能四次获得这些值。