更新時(shí)間:2020-07-02 15:25:05 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2760次
1.編寫(xiě)程序?qū)崿F(xiàn)樂(lè)手彈奏樂(lè)器。樂(lè)手可以彈奏不同的樂(lè)器從而發(fā)出不同的聲音。可以彈奏的樂(lè)器包括二胡、鋼琴和小提琴。
/**
?*?樂(lè)器類
?*?@author?Administrator
?*
?*/
public?class?Instrument?{
public?void?makeSound(){
System.out.println("發(fā)出聲音");
}
}
/**
?*?鋼琴類
?*?@author?Administrator
?*
?*/
public?class?Piano?extends?Instrument{
public?void?makeSound(){
System.out.println("鋼琴聲...命運(yùn)交響曲...");
}
}
/**
?*?小提琴類
?*?@author?Administrator
?*
?*/
public?class?Violin?extends?Instrument{
public?void?makeSound(){
System.out.println("小提琴聲音..梁祝...");
}
}
/**
?*?二胡類
?*?@author?Administrator
?*
?*/
public?class?Erhu?extends?Instrument{
public?void?makeSound(){
System.out.println("二胡聲音...二泉映月..");
}
}
/**
??*?樂(lè)手類
??*?@author?Administrator
??*
??*/
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.編寫(xiě)程序?qū)崿F(xiàn)比薩制作。需求說(shuō)明編寫(xiě)程序,接收用戶輸入的信息,選擇需要制作的比薩。可供選擇的比薩有:培根比薩和海鮮比薩
/**
?*?定義抽象類
*/
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("價(jià)格:"+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("價(jià)格:"+super.getPrice()+"元");
System.out.println("大小:"+super.getSize()+"寸");
System.out.println("配料:"+this.mixture);
}
}
/**
?*?比薩制作
*/
public?class?PizzaFactory?{
public?static?Pizza?makePizza(){
System.out.println("請(qǐng)選擇想要制作的比薩(1.培根比薩?2.海鮮比薩):");
Scanner?scanner?=?new?Scanner(System.in);
int?i?=?scanner.nextInt();
Pizza?pizza?=?null;
if(i==1){
//制作培根比薩
System.out.println("請(qǐng)輸入培根克數(shù):");
int?gram?=?scanner.nextInt()?;
System.out.println("請(qǐng)輸比薩大小:");
int?size?=??scanner.nextInt();
System.out.println("請(qǐng)輸入比薩價(jià)格:");
int?price?=??scanner.nextInt();
pizza?=?new?BaconPizza("培根比薩",?price,?size,?gram);
}else?if(i==2){
//制作海鮮比薩
System.out.println("請(qǐng)輸入配料信息:");
String?mixture??=??scanner.next();
????System.out.println("請(qǐng)輸比薩大小:");
???? int?size?=??scanner.nextInt();
????
????
????System.out.println("請(qǐng)輸入比薩價(jià)格:");
???????? int?price?=??scanner.nextInt();
???????? pizza?=?new?SeaFoodPizza("海鮮比薩",?price,?size,?mixture);
???????? }
???????? return?pizza;
}
public?static?void?main(String[]?args)?{
Pizza?pizza?=?makePizza();
pizza.show();
}
}
3.編寫(xiě)程序?qū)崿F(xiàn)軟料購(gòu)買(mǎi):編寫(xiě)程序,接收用戶輸入的信息,選擇購(gòu)買(mǎi)的飲料。可供選擇的飲料有:咖啡、礦泉水和可樂(lè)。其中,購(gòu)買(mǎi)咖啡時(shí)可以選擇:加糖、加奶還是什么都不加。購(gòu)買(mǎi)可樂(lè)時(shí)可以選擇:買(mǎi)可口可樂(lè)還是百事可樂(lè)。
//飲料類
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("您購(gòu)買(mǎi)的飲料信息如下:");
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("您購(gòu)買(mǎi)的飲料信息如下:");
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("請(qǐng)輸入購(gòu)買(mǎi)容量:");
int?volume?=?input.nextInt();
System.out.println("請(qǐng)問(wèn)是否要配料(1、加糖?2、加奶?3、什么也不加)");
int?choice?=?input.nextInt();
String?mixture;
switch(choice){
case?1:?mixture?="加糖";break;
case?2:?mixture?="加奶";break;
default?:?mixture="什么一個(gè)不加";
}
drink?=?new?Coffee("咖啡",volume,?mixture);
}else?if("2".equals(no)){
//省略
}else?if("3".equals(no)){
//省略 }
return?drink;
}
}
//測(cè)試類
public?class?TestDrink?{
public?static?void?main(String[]?args)?{
Scanner?input?=?new?Scanner(System.in);
System.out.println("請(qǐng)選擇飲料(1.咖啡??2?礦泉水??3?可樂(lè)):");
String?choice?=?input.next();
Drink?drink?=?DrinkFactory.getDrink(choice);
drink.show();
}
}
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“編程基礎(chǔ)分享,Java多態(tài)的練習(xí)題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743