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
视频是一个简单的类,它包含两个私有实例变量String name和VideoType类型。 VideoType是一个枚举。
为什么前两个跳过最后一个没有的空间的任何想法?我正在使用Eclipse。也许有一个我不小心碰到的环境。
谢谢!
*** UPDATE 添加Video和VideoType类。
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;
}
}
public enum VideoType {
NEW_RELEASE(6.00), DRAMA(5.00), COMEDY(2.00), ROMANCE(4.00), HORROR(3.00);
private double price;
VideoType(double price) {
this.price = price;
}
public double getPrice() {
return this.price;
}
}
答案 0 :(得分:8)
可能的原因是video.getType().toString()
值以换行符('\n'
)结束。试试System.out.print
,看看你是否还有新的线条角色。另一种方法是使用调试器来检查字符。
答案 1 :(得分:1)
\n
这会增加一条新线。然后一切都会有自己的线,而不会跳过额外的线。这里的问题似乎来自你getType();
电话。
你也可以保留\ n并执行System.out.print
而不是System.out.println
,因为print ln会打印一个新行。
编辑:现在您发布了代码,我们可以看到它是“VideoType”类。您是否尝试在没有参数的情况下返回枚举值?
我会创建一个toString方法并显示你想要的东西,这将消除额外的行问题。
这样,当您以video.getType();
结束时,您将确保它按您希望的方式运作。
答案 2 :(得分:1)
是的,这是一个令人难以置信的愚蠢错误。
你们帮我解决了问题。发生的事情是我正在读取来自txt文件的视频名称,如下所示:
movie1,
movie2,
...
我将分隔符设置为“,”因此它正在读取“movie1”然后“\ r \ nmovie2”
我需要更改文本文件,使其看起来像:movie1,movie2,或者更改我的代码以逐行读取,而不是只读取下一个值。
答案 3 :(得分:0)
尝试使用savedScore
以避免额外的行。
答案 4 :(得分:-1)
尝试使用System.out.print("someString")
代替System.out.println("someString")