Java 计分计数器不';t增量

Java 计分计数器不';t增量,java,android,Java,Android,我只是想知道我的代码是否正确,因为我的分数计数器没有增加。这是我的代码 result=ans*ans2; holdV=(Integer.parseInt(mystr)); Boolean b=(holdV==result); int i=0; if(b){ i++; score.setText(""+i); } 无论何时我运行我的应用程序,它都会移动到1,然后它会停止增加,即使您得到了正确的答案。这是一个android应用程序实现。您总是在此处将值设置为0: int i=0; // &

我只是想知道我的代码是否正确,因为我的分数计数器没有增加。这是我的代码

result=ans*ans2;
holdV=(Integer.parseInt(mystr));
Boolean b=(holdV==result);
int i=0;
if(b){
  i++;
  score.setText(""+i);
}

无论何时我运行我的应用程序,它都会移动到1,然后它会停止增加,即使您得到了正确的答案。这是一个android应用程序实现。

您总是在此处将值设置为0:

int i=0; // <--set to 0
if(b){
  i++; // <-- increment: result will be 1
  score.setText(""+i);
}

int i=0;// 您始终在此处将值设置为0:

int i=0; // <--set to 0
if(b){
  i++; // <-- increment: result will be 1
  score.setText(""+i);
}

int i=0;// 使用while循环而不是if(只回答您的问题)


使用while循环而不是if(只回答您的问题)


b是真/假?你得到的分数是多少?setText(??)b是真的,然后score的值是i的增量值?你得到的分数是多少。setText(??)b是真的,那么分数的值就是i的增量值。要解决这个问题,请将这个
i
移到字段声明中或移到这个范围之外。@Glenn我认为这取决于解决的问题。这似乎是一个普通的家庭作业问题,最有可能的解决方案是重量更轻:我建议将其移动到循环之外来解决,将此
I
移动到字段声明中或此范围之外。@Glenn我认为这取决于已解决的问题。这似乎是一个普通的家庭作业问题,最有可能的解决方案是重量更轻:我建议把它放在室外loop@ppeterka66我刚刚给出了错误发生的地方。。。问题还没满。。。那么你怎么能给出while循环呢?我想如果你不知道mystr,ans,ans2,hold的正确值,你的答案就不能正常工作。在这种当前形式下,无论代码周围的条件如何,您的答案都无法正常工作。我的答案与您的答案之间的显著区别在于,假设条件适当(例如,其他变量的值),我的答案可以正常运行。您的代码在
b
情况下所做的是正确的:递增
i
,并打印一行,直到世界末日。由于
b
是一个局部变量,因此没有正常的中断循环的方法。我认为这个结果不是期望的。@ppeterka66我刚刚给出了错误发生的地方。。。问题还没满。。。那么你怎么能给出while循环呢?我想如果你不知道mystr,ans,ans2,hold的正确值,你的答案就不能正常工作。在这种当前形式下,无论代码周围的条件如何,您的答案都无法正常工作。我的答案与您的答案之间的显著区别在于,假设条件适当(例如,其他变量的值),我的答案可以正常运行。您的代码在
b
情况下所做的是正确的:递增
i
,并打印一行,直到世界末日。由于
b
是一个局部变量,因此没有正常的中断循环的方法。我认为这个结果并不是理想的结果。
result=ans*ans2;
holdV=(Integer.parseInt(mystr));
Boolean b=(holdV==result);
int i=0;
while(b){
  i++;
  score.setText(""+i);
}