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

}}

頁: [1]
查看完整版本: 幫我解決問題


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.