如何跳过else语句一定次数,然后重新开始

时间:2012-08-20 21:47:06

标签: java if-statement skip

我有一个数组中的名称列表,其中有一些冗余。我只能得到唯一的名称来打印,但我需要一种方法来打印第一行,跳过打印但是多次有冗余,然后继续打印下一个名称(所有冗余实例总是紧挨着彼此)。以下是我到目前为止所拥有的内容:

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来说相对较新。

1 个答案:

答案 0 :(得分:2)

为什么不使用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