变量不会在if语句中向自身添加1

时间:2018-12-06 01:19:09

标签: java

我有这种方法。

 int m = 0;
 int a = 0;
  @Override
  public void animate(long deltaMs){
   ...
        a++;
        double valor = destValue * 100f;

        if(a%17==0 && valor > 1) {
                MySQLAccess sql = new MySQLAccess();
                int p = 0;
                try {
                     p = sql.getRandom();
                } catch (Exception e) {
                }
                m++;
                if(m == p+1) {
                MainFrame mf = new MainFrame();    
                RandomProvider randomp = new RandomProvider();
                QueryPanel qp = new QueryPanel(randomp);
                  try {
                      sql.insertScore(valor,sql.getUsuarios(qp.getUsuario()), 
                      sql.getRandom());
                } catch (Exception e) {
                    e.printStackTrace();
                    }
                }
          }
        repaint();
        }        
      }

此方法在运行时会多次执行,我想跟踪它执行了多少次,变量“ a”确实正确添加,但if语句中的“ m”却没有,我不知道不知道为什么,我需要知道if语句运行多少次。

2 个答案:

答案 0 :(得分:1)

由于您想知道if语句运行了多少次(并且您没有使用调试器),因此将这些时间存储在变量中。

//...
int timesRun = 0;
while( ){
   if( ){
    timesRun++;
   }
}
System.out.println(“Debug: I’d statement run”+timesRun+” times”);

答案 1 :(得分:-1)

如果MySQLAccess sql = new MySQLAccess()抛出,将不会到达m++