オブジェクト指向(基本2)

Java

お題

クラスの作り方とインスタンスの作り方を学ぼう

手順

◯新規Javaプロジェクト,PiggyBankを作成する(PiggyBankは貯金箱のこと)
◯新規クラスPiggyBankMain.javaを作成する。内容は以下

public class PiggyBankMain {

	public static void main(String[] args) {
		

	}

}

◯PiggyBankMainクラスの下にPiggyBankクラスを作成する。記述は以下

public class FruitsShopMain {

	public static void main(String[] args) {
		

	}

}
class PiggyBank{
	
}

以下はPiggyBankクラスに記述していくこと

◯フィールド変数
int money

◯コンストラクタ
引数なしのコンストラクタを設置し、this.moneyを0で初期化する処理を書く

◯メソッド
貯金するメソッド void saveMoney(int money)を作成する。
処理内容は、引数で入ってきた金額をthis.moneyに追加し、
「xxx円貯金しました!」と出力する。

貯金額を表示するメソッド void showMoney()を作成する。
表示内容は以下
「現在の貯金額はxxxx円です」

インスタンスの作成

◯上部にあるmainメソッドの中でPiggyBankクラスのインスタンスを作成し、PiggyBank型の変数pbに代入する

◯pbがsaveMoney(100)を行うことによって100円を貯金する

◯pbがsaveMoney(250)を行うことによって250円を貯金する

◯pbがshowMoney()を行うことによって貯金額を表示する

実行例は以下

100円貯金しました!
250円貯金しました!
現在の貯金額は350円です

解答例

public class Main {
	public static void main(String[] args) {
		Gun g1 = new Gun();
		g1.shot();
		g1.displayInfo();
		g1.shot();
		g1.displayInfo();
		Gun g2 = new Gun("44マグナム",6);
		for(int i=0;i<10;i++){
			g2.shot();
		}
		g2.displayInfo();
		g2.loading(10);
		g2.displayInfo();
	}
}
class Gun{
	String name;
	int maxBullet;
	int bullet;

	Gun(String name,int maxBullet){
		this.name=name;
		this.maxBullet=maxBullet;
		this.bullet = maxBullet;
	}
	Gun(){
		this("P38",12);
	}
	void shot(){
		if(this.bullet == 0){
			System.out.println("弾切れだ!");
			return;
		}
		this.bullet--;
		System.out.println("---------->");
	}
	void loading(int bullet){
		int loaded = Math.min(this.maxBullet-this.bullet,bullet);
		System.out.printf("%d発装弾しました%n",loaded);
		this.bullet+=loaded;
	}
	void displayInfo(){
		System.out.printf("[%s:",this.name);
		for(int i=0;i<this.maxBullet;i++){
			System.out.print(i<this.bullet?"*":"_");
		}
		System.out.println("]");
	}
}
Java
スポンサーリンク
シェアする
mjpurinをフォローする

コメント

タイトルとURLをコピーしました