更新時間:2020-07-02 15:25:05 來源:動力節點 瀏覽2781次
1.編寫程序實現樂手彈奏樂器。樂手可以彈奏不同的樂器從而發出不同的聲音??梢詮椬嗟臉菲靼ǘ撉俸托√崆佟?/p>
/**
?*?樂器類
?*?@author?Administrator
?*
?*/
public?class?Instrument?{
public?void?makeSound(){
System.out.println("發出聲音");
}
}
/**
?*?鋼琴類
?*?@author?Administrator
?*
?*/
public?class?Piano?extends?Instrument{
public?void?makeSound(){
System.out.println("鋼琴聲...命運交響曲...");
}
}
/**
?*?小提琴類
?*?@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("二胡聲音...二泉映月..");
}
}
/**
??*?樂手類
??*?@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.編寫程序實現比薩制作。需求說明編寫程序,接收用戶輸入的信息,選擇需要制作的比薩。可供選擇的比薩有:培根比薩和海鮮比薩
/**
?*?定義抽象類
*/
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;//克數
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("培根克數:"+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("請輸入培根克數:");
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.編寫程序實現軟料購買:編寫程序,接收用戶輸入的信息,選擇購買的飲料??晒┻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();
}
}
以上就是動力節點java培訓機構的小編針對“編程基礎分享,Java多態的練習題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習