在过去的几个小时里,我一直在搜索,我只是无法在Java中找到一个简单的计数器!我尝试了AtomicInteger,它是getAndIncrement()方法,但是没有用。
基本上我有一个for循环,并且在if语句中,我希望每次在for循环中将int递增1,if语句等于true。然后在for循环之后返回int。
int不会增加。
帮助!
编辑 - 它在Eclipse for Android上:
public int markTest(Map<Long, String> selectedAnswers,
Map<Long, String> correctAnswers) {
int mark = 0;
for (long i = 1; i <= selectedAnswers.size(); i++) {
String userSelection = selectedAnswers.get(i).toString();
if (userSelection == correctAnswers.get(i))
mark++;
}
return mark;
}
答案 0 :(得分:2)
检查字符串相等性的正确方法是使用String.equals()
而不是相等==
运算符。
if (userSelection.equals(correctAnswers.get(i))) {
由于您的if
条件一直失败标记没有增加。此外,由于 selectedAnswers 已经是toString()
类型
Map<Long, String>
String userSelection = selectedAnswers.get(i);
<强> 参考文献: 强>
Java String.equals versus ==
How do I compare strings in Java?
答案 1 :(得分:0)
并且不要忘记在循环count = 0之外初始化计数或者你想要开始的任何数字。
如果(条件) 计数++;
返回计数;