用于计数在字符串java中发现了多少次元素的代码

问题描述 投票:0回答:2

我在这里有这段代码,这对我来说很有意义,它将打印出array [i]的元素数组中出现了多少个实例。计数永远不会超过一,我在做什么错?

import java.util.Scanner;
public class poker
{
    public static void main(String [] args)
    {
        Scanner scan = new Scanner(System.in);
        String[] array = new String[5];
        for(int i = 0; i < array.length; i++)
        {
            array[i] = scan.nextLine();
        }
        for (int i = 0; i < array.length; i++) {
            int count = 0;
            for (int j = 0; j < array.length; j++) {
                {
                    if (array[i] == array[j]) {
                        count++;
                    }

                }
                if (count >= 3) {
                    System.out.println(array[i] + " exists " + count + " times.");
                }
            }
        }
    }
}
java arrays input count poker
2个回答
0
投票

if (array[i] == array[j])

仅当引用相同时,如果要比较字符串值使用,则为true

if (array[i].equals(array[j]))

0
投票

要在Java中检查字符串是否相等,必须使用equals()函数。将行更改为if (array[i].equals(array[j])),您就可以开始了!仅当两个数组元素的引用地址相同时,运算符==才返回true,因此这就是您永远不会获得超过一个计数的原因,因为每个引用地址都是唯一的。]

© www.soinside.com 2019 - 2024. All rights reserved.