我有一个数组中的名称列表,其中有一些冗余。我只能打印唯一的名称,但我需要一种方法来打印第一行,跳过打印,但多次存在冗余,然后继续打印下一个名称(所有冗余实例始终彼此相邻)。到目前为止,这是我对该部分的了解:
int x = 1;
int skipCount = 0;
while (x<i){
if (titles[x].length() == titles[x-1].length()){
//do nothing
skipCount++;
}
else{
System.out.printf("%s\n", titles[x]);
}
x++;
}
所以基本上,我将如何跳过 else 语句“skipCount”次,然后重新开始?我还没有找到太多关于这方面的信息,而且对 java 还比较陌生。
最佳答案
为什么不直接使用 Set
? ;-)
final Set<String> set = new HashSet<>(Arrays.asList(titles));
for (final String title : set) {
/* title is unique */
System.out.println(title);
}
一些更改包括使用 println
而不是printf("%s\n", ...)
,这更清晰,并使用增强的 for
循环,而不是在循环中手动跟踪数组中的位置。
说实话,您可能会考虑使用 Set<String>
代替String[]
对于 titles
首先。
关于java - 如何跳过 else 语句一定次数,然后重新开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045690/