2008-12-13 19:51
coonrx8
import java.util.Scanner;
class Book{
private String name;
private String author;
private String publisher;
private int price;
Book(){
}
Book(String name, String author, String publisher, int price){
this.name = name;
this.author = author;
this.publisher = publisher;
this.price = price;
}
public String toString(){
return "書名:" + this.name + "\n作者:" + this.author +
"\n出版社:" + this.publisher + "\n訂價:" + this.price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public double getSellPrice(){
Calculator calculator = new Calculator();
double price = (double)this.price;
return calculator.calculate(price, 0.8);
}
}
class ComBook extends Book{
boolean hasDisc;
String hasDisc(){
return this.hasDisc==true?"附光碟":"沒光碟";
}
void setHasDisc(boolean hasDisc){
this.hasDisc = hasDisc;
}
ComBook(){
}
ComBook(String name, String author, String publisher,
int price, boolean hasDisc){
super( name, author, publisher, price);
this.hasDisc = hasDisc;
}
}
class Comic extends Book{
boolean isComic;
String isComic(){
return this.isComic==true?"書":"漫畫書";
}
void setHasDisc(boolean isComic){
this.isComic = isComic;
}
class BookShop{
private ComBook[] comBook = new ComBook[6];
BookShop(){
comBook[0] = new ComBook("資料結構\t","曾志軒\t","碁峰文化\t",500,true);
comBook[1] = new ComBook("J2EE\t\t\t","楊泰昇\t","博碩文化\t",380,true);
comBook[2] = new Comic("火影忍者\t","岸本齊史\t","東立",80,true);
comBook[3] = new ComBook("MacOSX 10.5\t\t","施威銘研究室","旗標\t",560,true);
comBook[4] = new Comic("灌籃高手\t","井上雄彥\t","東立",80,true);
comBook[5] = new ComBook("Java程式設計藝術\t","Deitel\t","全華圖書\t",650,true);
}
public String toString(){
String result = "";
for(int i=0;i<comBook.length;i++){
result += "("+(i+1)+")"+comBook[i].getName()+(comBook[i].getName().length()>5?"\t":"\t\t");
result += comBook[i].getAuthor()+"\t";
result += comBook[i].getPublisher()+"\t";
result += comBook[i].getPrice()+"\t";
if(comBook[i] instanceof ComBook){
result += ((ComBook)comBook[i]).hasDisc()+"\t";
}else{
result += ((isComic)comBook[i]).isComic()+"\t";
result += comBook[i].getSellPrice()+"\n";
}
return result;
}
void Execute(){
int item=0, sum=0;
double amount = 0, comCount=0, comicCount=0;
Calculator calculator = new Calculator();
Scanner sc = new Scanner(System.in);
System.out.print("請輸入購買書本的編號(1~6,-1代表結束):");
item = sc.nextInt();
if(item>0){
sum += comBook[item-1].getPrice();
}
while(item!=-1);
System.out.print("你一共買了"+comBook+"本電腦書與"+ iscomic +"漫畫書,共"+ sum +"元,");
}
}
class Calculator{
double calculate(double number, double discount){
return number * discount;
}
}
public class Work_1 {
/**
* @param args
*/
public static void main(String[] args) {
BookShop bookShop = new BookShop();
System.out.println(bookShop);
bookShop.Execute();
}
}}