0

在过去的几个小时里,我进行了全面搜索,但我无法在 Java 中找到一个简单的计数器!我尝试了 AtomicInteger ,它是 getAndIncrement() 方法,但没有奏效。

基本上我有一个 for 循环,在那个 if 语句中,我希望每次在 for 循环中 if 语句等于 true 时,int 都增加 1。然后在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;
    }
4

2 回答 2

2

检查字符串相等的正确方法是使用String.equals()而不是相等==运算符。

if (userSelection.equals(correctAnswers.get(i))) {

因为,你的if条件一直失败,时间标记没有增加。此外,没有必要toString()因为selectedAnswers已经是类型Map<Long, String>

String userSelection = selectedAnswers.get(i);

参考:
Java String.equals 与 ==
如何比较 Java 中的字符串?

于 2013-06-26T00:51:41.143 回答
0

在 if 语句之后编写 count++ 示例,并且不要忘记在循环 count=0 之外初始化计数或您想要开始的任何数字。

如果(条件)计数++;

返回计数;

于 2013-06-26T00:51:59.133 回答