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

标签 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 还比较陌生。

最佳答案

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

相关文章:

Jquery:如何跳过第一个元素时间

java - Sql事件与Servlet中的ScheduledExecutorService

java - 如何生成1到8的随机数而不重复?

javascript - 在 JavaScript 中使用三元运算符代替 if..else

javascript - IE 条件检查

perl - 在perl中使用替换运算符跳过字符串中的特定位置

java - IO java 中的 Skip() 方法?

java - picasso + RxJava2 : Method call should happen from the main thread

java - Android 上的 J7zip - 从存档中提取并列出内容

if-statement - if else 在 pyspark 中用于折叠列值