Java println插入额外的新行
这让我烦透了。不管出于什么原因,System.out.println正在插入一个额外的换行符,我不明白为什么。有关守则是:Java println插入额外的新行,java,eclipse,newline,println,Java,Eclipse,Newline,Println,这让我烦透了。不管出于什么原因,System.out.println正在插入一个额外的换行符,我不明白为什么。有关守则是: System.out.println("Videos: "); for (Video video: videosToBeRented) { System.out.println(video.getName() + " - " + video.getType()); } System.out.println("price: " + price + "\n"); 下面
System.out.println("Videos: ");
for (Video video: videosToBeRented) {
System.out.println(video.getName() + " - " + video.getType());
}
System.out.println("price: " + price + "\n");
下面是一个示例输出:
Videos:
The Walking Dead Cats - ROMANCE
Star Scrimmage - HORROR
Cat in the Boot - NEW_RELEASE
price: 91.0
Video是一个简单的类,它包含两个私有实例变量String name和VideoType。VideoType是一种枚举
你知道为什么前两个跳过了最后一个没有跳过的空间吗?我正在使用Eclipse。也许有一个设置,我不小心击中
谢谢
***更新
添加视频和视频类型类
public class Video {
//Private Instance Variables
private String name;
private VideoType type;
public Video(String name, VideoType type) {
this.name = name;
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public VideoType getType() {
return type;
}
public void setType(VideoType type) {
this.type = type;
}
}
}可能的原因是
video.getType().toString()
值以新行字符('\n'
)结尾。尝试System.out.print
,查看是否仍然获得新行字符。另一种方法是使用调试器检查字符 可能的原因是video.getType().toString()
值以新行字符('\n'
)结尾。尝试System.out.print
,查看是否仍然获得新行字符。另一种方法是使用调试器检查字符
\n
这插入了一个新行。然后每样东西都会有自己的一行,而不会跳过另一行。这里的问题似乎来自您getType()代码>呼叫
您还可以保留\n并执行System.out.print
,而不是在print ln打印新行时执行System.out.println
编辑:现在你发布了你的代码,我们可以看到它是“VideoType”类。您是否尝试过返回不带参数的枚举值
我将创建一个toString方法并显示您自己想要的内容,这将消除额外的行问题
当您以video.getType()结束时,使用这种方法代码>您将确保它按照您希望的方式运行
这插入了一个新行。然后每样东西都会有自己的一行,而不会跳过另一行。这里的问题似乎来自您getType()代码>呼叫
您还可以保留\n并执行System.out.print
,而不是在print ln打印新行时执行System.out.println
编辑:现在你发布了你的代码,我们可以看到它是“VideoType”类。您是否尝试过返回不带参数的枚举值
我将创建一个toString方法并显示您自己想要的内容,这将消除额外的行问题
当您以video.getType()结束时,使用这种方法
您将确保它按您希望的方式运行。尝试使用System.out.print
以避免多余的行。尝试使用System.out.print
以避免多余的行。尝试System.out.print(“someString”)
而不是System.out.println(“someString”)
尝试System.out.print(“someString”)
而不是System.out.println(“someString”)
是的,这是一个极其愚蠢的错误
你们帮我找到了解决办法。发生的事情是,我从一个txt文件中读取视频名称,该文件如下所示:
movie1,
movie2,
...
我将分隔符设置为“,”,因此它的读数是“movie1”,然后是“\r\n视频2”
我需要更改文本文件,使其看起来像:movie1、movie2,或者将代码更改为逐行读入,而不是只读入下一个值。是的,这是一个极其愚蠢的错误
你们帮我找到了解决办法。发生的事情是,我从一个txt文件中读取视频名称,该文件如下所示:
movie1,
movie2,
...
我将分隔符设置为“,”,因此它的读数是“movie1”,然后是“\r\n视频2”
我需要更改文本文件,使其看起来像:movie1、movie2,或者将代码更改为逐行读入,而不是只读入下一个值。println()
默认情况下创建新行。如果要打印一行并添加自己的换行符\n
只需使用print()
println()
默认情况下创建一个新行。如果要打印一行并添加自己的换行符\n
只需使用print()
我理解print和println之间的区别。我正在试图理解为什么println没有按照我期望的方式运行。请更新视频类代码。可能是toString是override及其添加的换行符我理解print和println之间的区别。我正在试图理解为什么println没有按照我期望的方式运行。请更新视频类代码。可能是toString是override,其添加的newlineI设置字符串aString=video.getName()+“-”+video.getType();在调试器中,我将aString检查为:[,T,h,e,W,a,l,k,I,n,g,D,e,a,D,C,a,T,s,,-,h,O,R,R,R,O,R]@btbam91,当Java看到视频时。getType()
它将使用toString()
返回的任何值生成字符串@Adi说您可能需要检查getType()
返回值的实际值。它可能包含一个新行字符;在调试器中,我将aString检查为:[,T,h,e,W,a,l,k,I,n,g,D,e,a,D,C,a,T,s,,-,h,O,R,R,R,O,R]@btbam91,当Java看到视频时。getType()
它将使用toString()
返回的任何值生成字符串@Adi说您可能需要检查getType()
返回值的实际值。它可能包含一个新的行字符。你可以逐行阅读,如果你觉得更好的话,我会走那条路线。你可以逐行阅读,如果你觉得更好的话,我会走那条路线。