1.編寫程序?qū)崿F(xiàn)樂手彈奏樂器。樂手可以彈奏不同的樂器從而發(fā)出不同的聲音。可以彈奏的樂器包括二胡、鋼琴和小提琴。
public?class?Instrument?{ public?void?makeSound(){ System.out.println("發(fā)出聲音"); }}public?class?Piano?extends?Instrument{ public?void?makeSound(){ System.out.println("鋼琴聲...命運(yùn)交響曲..."); }}public?class?Violin?extends?Instrument{ public?void?makeSound(){ System.out.println("小提琴聲音..梁祝..."); }}public?class?Erhu?extends?Instrument{ public?void?makeSound(){ System.out.println("二胡聲音...二泉映月.."); }}public?class?Musician?{ public?static?void?play(Instrument?instrument){ instrument.makeSound(); } public?static?void?main(String[]?args)?{ Instrument?i1?=?new?Piano(); play(i1); Instrument?i2?=?new?Violin(); play(i2); Instrument?i3?=?new?Erhu(); play(i3); }}
2.編寫程序?qū)崿F(xiàn)比薩制作。需求說明編寫程序,接收用戶輸入的信息,選擇需要制作的比薩??晒┻x擇的比薩有:培根比薩和海鮮比薩
public?abstract?class?Pizza?{ private?String?name; private?int?price; private?int?size; public?Pizza()?{ super(); } public?Pizza(String?name,?int?price,?int?size)?{ super(); this.name?=?name; this.price?=?price; this.size?=?size; } public?String?getName()?{ return?name; } public?void?setName(String?name)?{ this.name?=?name; } public?int?getPrice()?{ return?price; } public?void?setPrice(int?price)?{ this.price?=?price; } public?int?getSize()?{ return?size; } public?void?setSize(int?size)?{ this.size?=?size; } public?abstract?void??show(); ? ?}public?class?BaconPizza?extends?Pizza{ private?int?gram;//克數(shù) public?BaconPizza()?{ super(); } public?BaconPizza(String?name,?int?price,?int?size,?int?gram)?{ super(name,?price,?size); this.gram?=?gram; } public?int?getGram()?{ return?gram; } public?void?setGram(int?gram)?{ this.gram?=?gram; } public?void?show()?{ System.out.println("名稱:"+super.getName()); System.out.println("價格:"+super.getPrice()+"元"); System.out.println("大?。?+super.getSize()+"寸"); System.out.println("培根克數(shù):"+this.gram); }}public?class?SeaFoodPizza?extends?Pizza{ private?String?mixture;//配料 public?SeaFoodPizza()?{ super(); } public?SeaFoodPizza(String?name,?int?price,?int?size,?String?mixture)?{ super(name,?price,?size); this.mixture?=?mixture; } public?String?getMixture()?{ return?mixture; } public?void?setMixture(String?mixture)?{ this.mixture?=?mixture; } @Override public?void?show()?{ System.out.println("名稱:"+super.getName()); System.out.println("價格:"+super.getPrice()+"元"); System.out.println("大小:"+super.getSize()+"寸"); System.out.println("配料:"+this.mixture); }}public?class?PizzaFactory?{ public?static?Pizza?makePizza(){ System.out.println("請選擇想要制作的比薩(1.培根比薩?2.海鮮比薩):"); Scanner?scanner?=?new?Scanner(System.in); int?i?=?scanner.nextInt(); Pizza?pizza?=?null; if(i==1){ //制作培根比薩 System.out.println("請輸入培根克數(shù):"); int?gram?=?scanner.nextInt()?; System.out.println("請輸比薩大?。?); int?size?=??scanner.nextInt(); System.out.println("請輸入比薩價格:"); int?price?=??scanner.nextInt(); pizza?=?new?BaconPizza("培根比薩",?price,?size,?gram); }else?if(i==2){ //制作海鮮比薩 System.out.println("請輸入配料信息:"); String?mixture??=??scanner.next(); ????System.out.println("請輸比薩大小:");???? int?size?=??scanner.nextInt();???? ???? ????System.out.println("請輸入比薩價格:");???????? int?price?=??scanner.nextInt();???????? pizza?=?new?SeaFoodPizza("海鮮比薩",?price,?size,?mixture);???????? }???????? return?pizza; } public?static?void?main(String[]?args)?{ Pizza?pizza?=?makePizza(); pizza.show(); }}
3.編寫程序?qū)崿F(xiàn)軟料購買:編寫程序,接收用戶輸入的信息,選擇購買的飲料??晒┻x擇的飲料有:咖啡、礦泉水和可樂。其中,購買咖啡時可以選擇:加糖、加奶還是什么都不加。購買可樂時可以選擇:買可口可樂還是百事可樂。
//飲料類public?class?Drink?{ private?String?name; private?int?volume; public?Drink()?{ super(); } public?Drink(String?name,?int?volume)?{ super(); this.name?=?name; this.volume?=?volume; } public?String?getName()?{ return?name; } public?void?setName(String?name)?{ this.name?=?name; } public?int?getVolume()?{ return?volume; } public?void?setVolume(int?volume)?{ this.volume?=?volume; } public?void?show(){ System.out.println("您購買的飲料信息如下:"); System.out.println("名稱:"+name); System.out.println("容量:"+volume); } }//咖啡類public?class?Coffee?extends?Drink{ private?String?mixture;//添加物 public?Coffee()?{ super(); } public?Coffee(String?name,int?volume,?String?mixture)?{ super(name,volume); this.mixture?=?mixture; } public?String?getMixture()?{ return?mixture; } public?void?setMixture(String?mixture)?{ this.mixture?=?mixture; } public?void?show(){ System.out.println("您購買的飲料信息如下:"); System.out.println("名稱:"+super.getName()); System.out.println("添加配料:"+this.getMixture()); System.out.println("容量:"+super.getVolume()); } }?//飲料工廠類public?class?DrinkFactory?{ public??static?Drink?getDrink(String?no){ Scanner?input?=?new?Scanner(System.in); Drink?drink?=?null; if("1".equals(no)){ System.out.println("請輸入購買容量:"); int?volume?=?input.nextInt(); System.out.println("請問是否要配料(1、加糖?2、加奶?3、什么也不加)"); int?choice?=?input.nextInt(); String?mixture; switch(choice){ case?1:?mixture?="加糖";break; case?2:?mixture?="加奶";break; default?:?mixture="什么一個不加"; } drink?=?new?Coffee("咖啡",volume,?mixture); }else?if("2".equals(no)){ //省略 }else?if("3".equals(no)){ //省略 } return?drink; }}//測試類public?class?TestDrink?{ public?static?void?main(String[]?args)?{ Scanner?input?=?new?Scanner(System.in); System.out.println("請選擇飲料(1.咖啡??2?礦泉水??3?可樂):"); String?choice?=?input.next(); Drink?drink?=?DrinkFactory.getDrink(choice); drink.show(); }}
以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對“編程基礎(chǔ)分享,Java多態(tài)的練習(xí)題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。