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);
}
}
コメント