お題
クラスの作り方とインスタンスの作り方を学ぼう。アクセス修飾子をつけて適切なカプセル化を行おう。
手順
◯新規クラスCashBoxMain.javaを作成する。内容は以下
public class CashBoxMain {
public static void main(String[] args) {
}
}
◯CashBoxMainクラスの下にCashクラスを作成する。記述は以下
public class CashBoxMain {
public static void main(String[] args) {
}
}
class CashBox{
}
以下はCashクラスに記述していくこと
◯フィールド変数
private String color
private int amount=0
◯コンストラクタ
String colorを引数として受け取ってフィールドにセットするものを作成する。
この際、コンストラクタ内でsetterを用いること
◯メソッド(setter&getter)
- colorフィールドのsetter
- nullだった場合にはIllegalArgumentException(“色がnullです。処理を中断”)を発生させる
public void setColor(String color) {
if(color == null) {
throw new IllegalArgumentException("色がnullです。処理を中断");
}
this.color=color;
}
- colorフィールドのgetter
- ルール通りのもの
- amountフィールドのsetter
- 負の値が入ってきた場合にはIllegalArgumentException(“値が不正です。処理を中断”)を発生させる
- amountフィールドのgetter
- ルール通りのもの
◯メソッド
- public void saveMoney(int money)
- 引数で入ってきた金額をmoneyをamountに加算する
- もし引数が負の値だった場合。[無効な値です]と出力する
- public void withDraw(int money)
- 引数で入ってきた金額をamountから減算する
- 引数がamount以上だった場合すべてを引き出す
- 引数が負の値だった場合[無効な値です]と出力する
- public void displayAmount()
- 残高を以下のフォーマットで出力する
赤の貯金箱:残高---2300円
CashBoxMainの作成
◯以下の実行例になるように処理を作成する
貯金箱の色を入力>>赤
1:貯金する 2:引き出す 3:情報をみる 4:終了>>1
金額を入力>>100
100円貯金した!
赤の貯金箱:残高---100円
1:貯金する 2:引き出す 3:情報をみる 4:終了>>2
金額を入力>>50
50円引き出した!
赤の貯金箱:残高---50円
1:貯金する 2:引き出す 3:情報をみる 4:終了>>3
赤の貯金箱:残高---50円
1:貯金する 2:引き出す 3:情報をみる 4:終了>>1
金額を入力>>-100
無効な値です
1:貯金する 2:引き出す 3:情報をみる 4:終了>>1
金額を入力>>1000
1000円貯金した!
赤の貯金箱:残高---1050円
1:貯金する 2:引き出す 3:情報をみる 4:終了>>2
金額を入力>>10000
1050円引き出した!
赤の貯金箱:残高---0円
1:貯金する 2:引き出す 3:情報をみる 4:終了>>4
アプリケーションを終了します。
コメント