【发布时间】:2015-02-04 03:17:27
【问题描述】:
我需要打印一个包含重复单词的数组。我已经让我的数组工作了,但我不知道如何正确计算单词。我已经知道,当我的索引计数器 (i) 为 49 时,当 (i) 想要计数到 50 时,我得到了错误,但我不知道任何其他方法来调整我的方法以使其正常工作。你能帮我么?任何帮助将不胜感激!
这是我的数组:
蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 蓝色 棕色 绿色 绿色 绿色 绿色 绿色 绿色 绿色 绿色 柠檬 柠檬 柠檬 柠檬 柠檬 丁香 丁香 橙色 橙色 红色 红色 红色 红色 红色 红色 红色 红色 红色 红色 白色 白色 白色 白色 白色 黄色 黄色 黄色
正确的代码
public static void printWordCount(String[] z)
{
System.out.println("THERE ARE " + wordTotal + " WORDS IN THE FILE");
System.out.println("WORD W/ COUNT:");
int i = 0;
int count = 0;
while(i < z.length - 1) {
if (z[i].equalsIgnoreCase(z[i+1])) {
i++;
count++;
}
else if (!z[i].equalsIgnoreCase(z[i+1]) || i == z.length - 1) {
count++;
System.out.println(z[i] + " / " + count);
i++;
count = 0;
}
}
count++;
System.out.println(z[i] + " / " + count);
}
这是我的输出:
文件中有 50 个单词
字数:
蓝色 / 13
棕色 / 1
绿色 / 8
柠檬/6
紫丁香 / 2
橙色/2
红色 / 10
白色 / 5
黄色/3
【问题讨论】:
标签: java arrays printing indexoutofboundsexception