我真的很困惑。我需要这段代码来检查串口是否有值,否则设置值否则显示该消息。
public class Calculator {
public static void main(String[] args) {
Product p2 = new Product("1st", 1.15);
p2.setSerial("1655");
System.out.println("done");
}
}
class Product {
private String name;
private String serial;
private double price;
public Product(String name, String serial, double price) {
this.name = name;
this.serial = serial;
this.price = price;
}
public Product(String name, double price) {
this.name = name;
serial = null;
this.price = price;
}
public void setSerial(String serial) {
if (serial == null)
this.serial = serial;
else
JOptionPane.showMessageDialog(null, "This item has a serial number");
}
public String getSerial() {
return serial;
}
}
答案 0 :(得分:3)
if (serial == null)
您检查传递给方法的参数并不罕见,因为您必须检查类成员。你必须把它改成
if (this.serial == null)
您感到困惑,因为您的参数和实例成员具有相同的名称。
为什么要将GUI与模型类混合使用?如果您测试的很好,但混合模型类和GUI不是一个好主意。
除此之外的一个注释是,我可以看到你在if else
省略{},不要这样做。拥有他们。只是为了避免这样的混乱。