StephenJpH StephenJpH - 15 days ago 5
Java Question

How to count the number of times a word appears in an array

I am trying to count the number of times each word is in the array in java and then display it, but I can't figure out how I am using a scanner to add to the array and then trying to find a method that will go through the array and show how many times each word is in that array.

public class Counting {

static String[] words = new String[3];
//static int[] aCounts;
private static int count;

public static void countTimesWordApperesInArray() {
int size = words.length;
for (int i = 0; i < size; i++) {
int position = i;
int count = 0;
for (int j = 0; j < size; j++) {
String element = words[i];
if (words[i].contains(element)) {
count++;
}
}
System.out.println(words[i] + " " + count);
}
}

public static void main(String[] args) {
System.out.println("Enter three Words");
Scanner scanner = new Scanner(System.in);

String input = scanner.next();

while (!("-1").equals(input)) {
words[count] = input;
count++;
input = scanner.next();
}
//print();
countDigits();
}
}

Answer

change words[i].contains(element) to words[j].equals(element)

public static void countTimesWordApperesInArray() {
        int size = words.length;
        for (int i = 0; i < size; i += 1) {
            int count = 0;

            String element = words[i];
            for (int j = 0; j < size; j += 1) {
                if (words[j].equals(element)) {
                    count += 1;
                }
            }
            System.out.println(words[i] + " " + count);
        }
    }
Comments