Q.
1.以下の構成のBookクラスを作成する。
フィールド
String title;
int price
コンストラクタ(3つ)
Book()
Book(String title)
Book(String title,int price)
メソッド(フィールドの値を出力する)
void showStatus()
2.BookAppクラスを作成し3つのコンストラクタそれぞれでnewして実行例のようになるようにせよ。
[実行例]
タイトル:null,価格:0
タイトル:頭の体操,価格:0
タイトル:君の名は,価格:1200
[解答例]
●Bookクラス
public class Book { String title; int price; Book(){ } Book(String title){ this.title=title; } Book(String title,int price){ this(title); this.price=price; } void showStatus(){ System.out.printf("タイトル:%s,価格:%d\n",this.title,this.price); } }
●BookAppクラス
public class BookApp { public static void main(String[] args) { Book book1=new Book(); book1.showStatus(); Book book2=new Book("頭の体操"); book2.showStatus(); Book book3=new Book("君の名は",1200); book3.showStatus(); } }
Q2.先程の問題はnullが出力されてしまっている。コンストラクターを変更して以下のように出力されるようにせよ。
[実行例]
タイトル:未定,価格:0
タイトル:頭の体操,価格:0
タイトル:君の名は,価格:1200
[解答例]
public class Book { String title; int price; Book(){ this("未定"); } Book(String title){ this.title=title; } Book(String title,int price){ this(title); this.price=price; } void showStatus(){ System.out.printf("タイトル:%s,価格:%d\n",this.title,this.price); } }
コメント