📄 j02080306.java
字号:
import java.lang.*;
class j02080306
{
private Bill[] Bills = null;
public Bill[] getBills()
{
if(Bills == null)
System.out.println("客人您尚未点餐");
else
System.out.println("已有" + Bills.length + " 位点餐");
return Bills;
}
public Bill orderOne(int meal,int dr)
{
Bill aBill = new Bill(meal,dr);
return aBill;
}
public double getTotal(boolean MVP)
{
double total = 0;
if(Bills == null)
return total;
for(int x =0;x<Bills.length;x++)
{
total = total + Bills[x].drinkCost + Bills[x].mealCost ;
}
if(MVP)
{
System.out.println("持MVP卡消费打九折");
total = total * 90/100;
}
return total;
}
public String getAllDetail()
{
String allDetail = "帐单明细:\n";
if( Bills == null)
{
return "客人您尚未点餐";
}
else
{
for(int x =0;x<Bills.length;x++)
{
allDetail = allDetail + "第 " + (x+1) + " 位:"
+ Bills[x].getDetail() + "\n";
}
return allDetail;
}
}
public static void main(String[] para)
{
j02080306 lunch = new j02080306();
lunch.Bills = new Bill[]{lunch.orderOne(2,0),lunch.orderOne(1,1),lunch.orderOne(3,2)};
System.out.println("查看点餐内容~~~");
System.out.println(lunch.getAllDetail());
Bill[] checkBills = lunch.getBills(); //返回值是数组类型的引用
System.out.println("更改第 1 人点餐内容~~~");
checkBills[0] = lunch.orderOne(2,3); //checkBills 与 Bills 数组引用同一个实例
System.out.println(lunch.getAllDetail());
System.out.println("总共是 " + lunch.getTotal(true) + " 元");
}
}
/* ===辅助类(一般类区)=====*/
class Bill
{
String drinks;
String meal;
int drinkCost;
int mealCost;
public Bill(int mealCode,int drinkCode)
{
setMeal( mealCode );
setDrinks( drinkCode );
}
private 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;
}
}
private 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;
}
}
public String getDetail()
{
String detail ;
if(mealCost==0 && drinkCost==0)
return "不消费";
else if( meal == null )
detail = drinks + drinkCost +" 元";
else if( drinks == null )
detail = meal + mealCost +" 元" ;
else
detail = meal + mealCost +" 元 "+ drinks + drinkCost +" 元";
return detail;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -