java - 我的代码中每个商品的数量结果有什么问题?

标签 java

对于我的代码,我需要显示输入的项目数量,例如,如果输入香蕉、香蕉、酸奶,则总数将为 3,香蕉 x2,酸奶 x1 我正在为输出而苦苦挣扎。我知道有一种更简单的方法可以使用 HashMap 来执行此操作,但我不想使用它,因为我还没有了解它。 好吧,我把计数器放在循环内,但如果我输入大米,大米,大米,很多大米,我希望我的输出是大米 x3,很多大米 x1,但我得到的是大米 x2 RIce x2?

public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<String>();
    System.out.println("Enter want you want to purchase:");
    Scanner read= new Scanner(System.in);
    String item  = read.nextLine();

    while(!item.equals("stop")) {
        list.add(item);
        item = read.nextLine();
}
System.out.println("Total items: " +list.size());

    for(int i=0; i<list.size(); i++) {
     int count = 0;
        System.out.print(list.get(i) + "x");
    for(int j=0; j<list.size(); j++){
        if(list.get(i).equalsIgnoreCase(list.get(j)))
            count++;
        if(list.get(i).equalsIgnoreCase(list.get(j)) && count>1)
            list.remove(j);   
    }                    
        System.out.println(count);

最佳答案

在计算新元素的出现次数时,您忘记将计数器变量 count 重置为 0:

...
System.out.println("Total items: " + list.size());

for (int i = 0; i < list.size(); i++) {
    int count = 0; // Initialize the count variable here
    ...

(有道理,因为您只将 count 设置为 0 一次,这意味着它只会不断增加...)

关于java - 我的代码中每个商品的数量结果有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40557264/

相关文章:

java - 在java代码中使用kotlin库时出现Android异常

java - 滚动到焦点文本字段

java - 使用特定 key 生成 10 位 TOTP 密码

java - HttpUrlConnection 读取分块响应

java - onClick 方法不存在

java - 如何在JTable中实现多行文本渲染器

Java JFrame 弹出窗口

java - Java 中的静态循环依赖

java - Toplink 尝试保留空对象

java - Android LinearLayout 获取屏幕上的 View /行