我在写代码时遇到了问题,我的代码在输出前打印了一个新行。我想避免这种情况。
这是我的代码
if (movieName.length() > 44)
{
movieName = movieName.substring(0, 44);
}
if(frqName.equals(movieName) && frqRating.equals(movieRating))
{
System.out.print(" " + movieTime);
}
else
{
System.out.println();
System.out.printf("%-44s | %5s | %s", movieName, movieRating, movieTime);
}
frqName = movieName;
frqRating = movieRating;
}
}
}
这是我的输出——首先是不需要的空行:
Wonders of the World | G | 16:40 20:00
Journey to Space | PG-13 | 19:00
Buffalo Bill And The Indians or Sitting Bull | PG | 12:45 15:00 19:30
Adventure of Lewis and Clark | PG-13 | 10:00 14:30
Halloween | R | 19:00
我认为问题出在第一个打印语句;但我该如何正确修复它?
我已经尝试从
System.out.println();
部分删除 else
并在下一行中将换行符附加到格式字符串。但是随后同一动作的进一步显示时间打印在下一行,这更糟。
随便写:
…
else {
// System.out.println();
System.out.printf("%-44s | %5s | %s %n", movieName, movieRating, movieTime);
}
……你的输出不会以空行开头。