私のコードがオブジェクトに最大サイズが登録されていない理由を理解できません。私は多分それが一番下の変数が最小値と最大値をオーバーライドすることがありますが、靴オブジェクトの作成
public class Shoes {
private static final int MIN_SIZE = 1;
private static final int MAX_SIZE = 15;
private String brand;
private double price;
private int size;
public Shoes(String brand, double price, int size) {
this.brand = brand;
this.price = price;
this.size = size;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
if (price < 0) {
System.out.println("Price Must be greater than zero!\n");
return;
}
this.price = price;
}
public int getSize() {
return size;
}
public void setSize(int size) {
if (size > MAX_SIZE && size < MIN_SIZE) {
System.out.println("Invalid Size!\n");
}
}
@Override
public String toString() {
return "Shoe [brand = " + brand + ", price = " + price + ", size = " + size + "]";
}
public static void main(String[] args) {
Shoes myShoes = new Shoes("J.F.", 45.99, 10);
Shoes otherShoes = new Shoes("Addidas", 65.99, 16);
System.out.println("The shoes: ");
System.out.println(myShoes.toString());
System.out.println("Other Shoes: ");
System.out.println(otherShoes.toString());
}
}
othershoesが無効なサイズとして登録する必要が助けていないようだという事実によるものだと思いました。しかし、それは通常のようにコードを実行するだけで、なぜ私は理解していない無効なサイズのテキストを出力しません。
コンストラクタでは、使用していない 'setSize()'メソッドのサイズチェックがありません。さらに '&|'(と)ではなく '||'(または)を使うべきです。 – Kayaman