新學期開始了。
新的課程,新的心情,新的作息
這學期程設實習課在正式上課之前
助教丟了題B班上學期考試的題目讓我們重新想一下JAVA怎麼寫
其實也不難,就照考卷上一步一步寫就好了
看來好像只是幫忙打字似的...

(還有,他題目好像把VIP打成MVP了XD)
--------------------------------------------------------------------
寫一程式,包含一名為Bill之class,其內容定義如下:
(a)一個名為drinks的String型別變數,負責記錄飲料類型
(b)一個名為meal的String型別變數,負責記錄套餐類別
(c)一個名為drinkCost的int型別變數,負責記錄飲料價格
(d)一個名為mealCost的int型別變數,負責記錄套餐價格
(e)一個名為setMeal的method,接受一int型別參數code。若code為1,則將meal成員設定為"A餐",且mealCost成員設定為145。若code為2,則將meal成員設定為"B餐",且mealCost成員設定為115。若code為3,則將meal成員設定為"C餐",且mealCost成員設定為134。其餘則將meal成員設定成null,mealCost設定成0。
(f)一個名為setDrinks的method,接受一int型別參數code。若code為1,則將drinks成員設定為"可樂",且drinkCost成員設定為25 。若code為2,則將drinks成員設定為"紅茶",且drinkCost成員設定為30。若code為3,則將drinks成員設定為"咖啡",且drinkCost成員設定為40。其餘則將drinks成員設定成null,drinkCost設定成0。
(g)一個名為getTotal的method,無接受參數,傳回drinkCost及mealCost總和(int型別)。
(h)一個名為getDetail的method,無接受參數,傳回一String。若drinkCost及mealCost均為0,則傳回"無消費"字串。若meal成員為null,則傳回"XX(飲料)XX元",若drinks成員為null,則傳回"XX(餐別)XX元",否則傳回"XX(餐別)XX元XX(飲料)XX元"
(i)一個public建構子,接受int mealCode,int drinkCode,boolean MVP參數,並運用setMeal及setDrinks method,分別依參數mealCode,drinkCode負責設定飲料及餐別及對應之價錢給drinks,meal,drinkCost,mealCost成員。MVP參數若為true,則drinkCost及mealCost分別打九折。
(j)一個public method ChangeBill作重新訂餐用,接受int mealCode,int drinkCode,boolean MVP參數,並運用setMeal及setDrinks method,分別依參數mealCode,drinkCode負責設定飲料及餐別及對應之價錢給drinks,meal,drinkCost,mealCost成員。MVP參數若為true,則drinkCost及mealCost分別打九折。
---------------------------------------------------------------------
class Bill {
public Bill(int mealCode,int drinkCode,boolean MVP){
setMeal(mealCode);
setDrinks(drinkCode);
if(MVP==true){
mealCost=(int)(mealCost*0.9);
drinkCost=(int)(drinkCost*0.9);
}
}
String drinks;
String meal;
int drinkCost;
int mealCost;
public void setMeal(int code){
switch(code){
case 1: meal="A餐";mealCost=145;
break;
case 2: meal="B餐";mealCost=115;
break;
case 3: meal="C餐";mealCost=135;
break;
default:meal=null;mealCost=0;
break;
}
}
public void setDrinks(int code){
switch(code){
case 1: drinks="可樂";drinkCost=25;
break;
case 2: drinks="紅茶";drinkCost=30;
break;
case 3: drinks="咖啡";drinkCost=40;
break;
default:drinks=null;drinkCost=0;
break;
}
}
public int getTotal(){
int Total=drinkCost+mealCost;
return Total;
}
public void ChangeBill(int mealCode,int drinkCode,boolean MVP){
setMeal(mealCode);
setDrinks(drinkCode);
if(MVP==true){
mealCost=(int)(mealCost*0.9);
drinkCost=(int)(drinkCost*0.9);
}
}
public String getDetail(){
if((drinkCost==0)&&(mealCost==0)){return "無消費";}
else if((meal==null)&&(drinks!=null)){return drinks+drinkCost+"元";}
else if((drinks==null&&meal!=null)){return meal+mealCost+"元";}
else return meal+mealCost+"元"+drinks+drinkCost+"元";
}
}
public class prog0412{
public static void main(String []para){
Bill Bills[];
Bills= new Bill[3];
Bills[0]=new Bill(2,0,true);
Bills[1]=new Bill(1,1,false);
Bills[2]=new Bill(2,3,false);
int total=0;
System.out.println("查看點餐內容");
for(int i=0;i System.out.println("客人"+(i+1)+":"+Bills[i].getDetail());
}
System.out.println("更改第二人點餐內容");
Bills[1].ChangeBill(3,2,true);
System.out.println("總計點餐內容");
for(int i=0;i total=total+Bills[i].getTotal();
System.out.println("客人"+(i+1)+":"+Bills[i].getDetail());
}
}
}

---------------------------------------------------------------------
arrow
arrow
    全站熱搜

    nnosnhoj 發表在 痞客邦 留言(1) 人氣()