首页 > 解决方案 > 浏览一个列表来计算一个值存在多少次......在Java中不起作用

问题描述

我从文本文档创建了一个列表。然后我创建了一个循环来遍历它并计算每次“草莓”在其中。但我不知道为什么,它不工作。

我知道我的列表被正确创建,因为我最后的打印语句返回了正确的值。但它并没有增加口味或草莓出现的次数。

 import java.util.List;
 import java.util.ArrayList;

 public class IceCream {
    public static void main(String[] args) {

        int count, strawberry, average, i;

        List<String> flavors = new ArrayList<String>();
        TextIO.readFile("src/icecream.dat");

        while (TextIO.eof() == false) {
            flavors.add(TextIO.getln());
        }

        count = 0;
        strawberry = 0;

        for (i = 0; i < flavors.size(); i++); {
            count++;
            if ( flavors.equals("Strawberry")) {
                strawberry++;
            }
        }

        TextIO.putln(flavors.size());
        average = strawberry / count * 100; 

        TextIO.putln("" + count + " ice cream cones were sold. " 
                  + strawberry + " were strawberry flavored, " 
                  + "which is a total of " + average + "% of the ice cream cones sold.");
    }
}

标签: javaarrayslist

解决方案


您想使用ArrayList::get 并使用 equals 比较 Object

if ( flavors.get(i).equals("Strawberry")) {
    strawberry++;
}

编辑

也删除最后;一个for (i = 0; i < flavors.size(); i++);


推荐阅读