お題
クラスの作り方とインスタンスの作り方を学ぼう
手順
◯新規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("]");
}
}
コメント