我是一名新的计算机编程学生.我观看了一个关于Java的视频,基本构图,视频中的人就此主题做了一个例子,如下所示:
public class PaperTray
{
int pages = 0;
....
public boolean isEmpty()
{
return pages > 0;
}
}
Run Code Online (Sandbox Code Playgroud)
public class Printer extends Machine
{
private PaperTray paperTray = new PaperTray();
....
public void print(int copies)
{
....
while(copies > 0 && !paperTray.isEmpty() )
{
System.out.println("some text to print");
copies--;
}
if(paperTray.isEmpty())
{
System.out.println("load paper");
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如果纸盘是空的,那么在PaperTray类中,方法isEmpty()将返回false.因此,将不会执行类Printer中的if语句.如果纸盘不为空,则PaperTray类中的方法isEmpty()将返回true,因此不会执行类Printer中的while语句.我错了,或者视频剪辑中的讲师犯了一些错误?
谢谢
这个逻辑isEmpty没有意义:我也期待
public boolean isEmpty() {
return pages == 0;
}
Run Code Online (Sandbox Code Playgroud)
要么
public boolean isNotEmpty() {
return pages > 0;
}
Run Code Online (Sandbox Code Playgroud)
如果纸盘是空的,那么在类中
PaperTray该方法isEmpty()将返回false
它应该返回true(对于任何合理的实现,即:-)。对于名为 的方法isEmpty(),常识表明它true在封闭对象/集合为空和不false为空时返回。
换句话说,您上面显示的实现有一个错误。
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |