Java(コンストラクター)

Java

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);
	}

}

コメント

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