본문 바로가기

Java/본격 Java 퀴즈 기초

[Java] 책 정보 입력

책 정보 입력하는 프로그램을 작성한다.

시리즈물(저자랑 가격이 같고 제목만 조금 다른)을 등록할때 어떻게 해야할지 알아보자

우선 책 정보 등록 생성자를 생성하고

오버로딩해서 다른 책 정보를 입력할 수 있는 생성자도 생성한다.

.

.

package ex6;

public class Book {
	String title, author;
	long price;
	
	public Book() {}
	public Book(String title, String author, long price) {
		this.title = title;
		this.author = author;
		this.price = price;
	}
	public Book(Book other) {
		this.title = other.title;
		this.author = other.author;
		this.price = other.price;
	}
	
	public String getTitle() { return title; }
	public void setTitle(String title) { this.title = title; }
	public String getAuthor() { return author; }
	public void setAuthor(String author) { this.author = author; }
	public long getPrice() { return price; }
	public void setPrice(long price) { this.price = price; }
	
	public String toString() {
		return "Book[ title = " + title + ", author = " + author + ", price = " + price + "]";
	}
}

.

.

책 1권의 정보를 먼저 입력하고 같은 시리즈물은 어떻게 작성해야 할지 알아보자

.

.

package ex6;

public class TestBook {

	public static void main(String[] args) {
		Book[] bookArr = new Book[5];
		Book book1 = new Book("고구려1", "김진명", 18000);
		bookArr[0] = book1;
		Book book2 = new Book(book1);
		bookArr[1] = book2;
		Book book3 = new Book(book1);
		bookArr[2] = book3;
		Book book4 = new Book(book1);
		bookArr[3] = book4;
		Book book5 = new Book(book1);
		bookArr[4] = book5;
		for(int i = 1; i < bookArr.length; i++) {
			bookArr[i].setTitle("고구려" + (i + 1));
		}
		
		for(int i = 0; i < bookArr.length; i++) {
			System.out.println(bookArr[i]);
		}
	}

}
728x90
반응형