【发布时间】:2016-02-06 04:11:49
【问题描述】:
Java 新手,我似乎无法弄清楚:
我要做的就是打印一个重复的字符串以及它在数组中出现的次数(不使用哈希表或类似的东西,只是非常简单)。
假设这样的数组:
tempArray = {"dogs", "cats", "dogs", "dogs", "mice", "snakes", "cats"}
到目前为止,这是我的代码:
int flowerCount = 0;
for (int j = 0; j < tempArray.length - 1; j++) {
for (int k = j + 1; k < tempArray.length; k++) {
if( (tempArray[j].equals(tempArray[k])) && (j != k) ) {
System.out.println(tempArray[j]);
flowerCount++;
}
}
}
显然这不起作用,我在这里做错了什么?这看起来应该很简单,但我无法正确地获得嵌套循环和计数器。
【问题讨论】:
-
为什么它显然不起作用?预期输出是多少,实际输出是多少?
-
正如我所说,预期的输出是“打印一个重复的字符串及其在数组中出现的次数”。它目前所做的只是将重复的项目打印错误的次数
-
您是在寻找函数运行前已知的特定字符串,还是试图找出所有重复的字符串?那么,在您的示例中,您的输出应该是“dogs”*3、“cats”*2 吗?
-
你有一个一维数组。拥有内部 for 循环会使事情变得过于复杂。
-
我只是对数组进行排序并寻找相等的连续元素。
标签: java arrays string nested-loops