我的代码在输出前打印一个新行

问题描述 投票:0回答:1

我在写代码时遇到了问题,我的代码在输出前打印了一个新行。我想避免这种情况。

这是我的代码

                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
并在下一行中将换行符附加到格式字符串。但是随后同一动作的进一步显示时间打印在下一行,这更糟。

java printing output newline
1个回答
2
投票

随便写:

…
else {
    // System.out.println();
    System.out.printf("%-44s | %5s | %s %n", movieName, movieRating, movieTime);                   
}

……你的输出不会以空行开头。

© www.soinside.com 2019 - 2024. All rights reserved.