文房具クラスを追加する
StationaryShop を実行すると実行結果の通りになるように、Stationary クラスを追加しなさい
また、追加にともない Amount クラスにも必要な修正を行うこと
実行結果
三菱ジェットストリーム が 3 本あります
MONO消しゴム が 2 本あります
金額は 562 円です
public class StationaryShop2 { public static void main(String[] args) { Amount myCart = new Amount(0); Stationary ballPen = new Stationary( "三菱ジェットストリーム", new Amount(120), 3); Stationary eraser = new Stationary( "MONO消しゴム", new Amount(80), 2); myCart = myCart.add(ballPen.calcTotalAmount()); myCart = myCart.add(eraser.calcTotalAmount()); myCart = myCart.addTax(); myCart.showValue(); } }
この続きのコードを記述せよ
という課題に取り組んでいるのですが、上手く実行結果が出ず、現在手詰まり状態です。
僕自身では
public class StationaryShop2 { public static void main(String[] args) { Amount myCart = new Amount(0); Stationary ballPen = new Stationary("三菱ジェットストリーム", new Amount(120), 3); Stationary eraser = new Stationary("MONO消しゴム", new Amount(80), 2); myCart = myCart.add(ballPen.calcTotalAmount()); myCart = myCart.add(eraser.calcTotalAmount()); myCart = myCart.addTax(); myCart.showValue(); } } final class Stationary { private String name; private int quantity; public Stationary(String name , Amount value , int quantity) { this.name = name; this.quantity = quantity; } public Stationary calcTotalAmount() { return new Stationary(name, quantity); } } final class Amount { private final int value; public Amount(int value) { this.value = value; } public Amount add(Amount augend) { return new Amount(value + augend.value); } public Amount addTax() { return new Amount((int)(value * 1.08)); } public void showValue() { System.out.println(name + " が " + quantity + " 本あります"); System.out.println("金額は " + value + " 円です"); } }
というところまではいったのですが、nameとquantityをどう返せばいいのか、どう出力すればいいのかわからず、現在進むことができずに詰んでおります。
僕の勉強不足が原因であり、厳しいお言葉も覚悟してますが、よければ教えていただけると幸いです…
