Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java println插入额外的新行_Java_Eclipse_Newline_Println - Fatal编程技术网

Java 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正在插入一个额外的换行符,我不明白为什么。有关守则是:

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()
返回值的实际值。它可能包含一个新的行字符。你可以逐行阅读,如果你觉得更好的话,我会走那条路线。你可以逐行阅读,如果你觉得更好的话,我会走那条路线。