java编写程序实现收费功能
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java编写程序实现收费功能
上机内容:编写程序实现收费功能
学号:班级:姓名:
1. 已实现的功能说明(UML图或文字)
(1)编写程序实现收费功能,测试函数仅需输出收费结果。
其中:
a)电影院票:2D电影50元;3D电影60元;
b)出租车收费标准:3公里以内8元;超出3公里,每增加0.8公里加收1元;
c)停车场收费标准:早8:00至晚8:00每小时4元;晚8:00到早8:00收费10 元。
(2)改写第2次上机的GeometricObject类及其子类
a)改写抽象类,将计算面积和计算周长的方法改写为抽象方法;
b)如课件2.5,改写Circle和Triangle类实现接口Draw和接口Manipulate接口;
c)定义类DrawGraphics,类中定义以Draw或Manipulate接口作为参数的方法,并编写程序测试这些方法。
2. 主要源码(必要的注释)
1)电影院票:2D电影50元;3D电影60元
publicclass MovieTicket {
publicvoid MovieT()
{
Scanner input=new Scanner(System.in);
boolean i=true;
int e=0;
Double mov=0.0;
while(i){
System.out.println("请选择你观看的电影种类:\n1 2D电影\n2 3D电影\n0 我已经选好。
");
int a=input.nextInt();
if(a!=0){
System.out.println("请选择你看电影购买的票的数量");
e=input.nextInt();
}
if(a==1)
mov=(double) (50*e)+mov;
elseif(a==2)
mov=(double) (60*e)+mov;
else
i=false;
}
System.out.println("您所购买的电影票总钱数为:"+mov+"元");
}
}
2)出租车收费标准:3公里以内8元;超出3公里,每增加0.8公里加收1元;ipublicclass TaixTicket {
publicvoid Taixs()
{
Double taix=0.0;
Scanner input=new Scanner(System.in);
System.out.println("请输入您打车的总路程(不足一公里按一公里算)");
int b=input.nextInt();
if(b<=3)
{
taix=8.0;
}
else
taix=(b-3)*0.8+8;
System.out.println("您的打车费为:"+taix+"元");
}
3)停车场收费标准:早8:00至晚8:00每小时4元;晚8:00到早8:00收费10 元。
publicclass ParkTicket {
long stayTime;
publicvoid ParkT(){
Scanner s=new Scanner(System.in);
System.out.println("请以yyyy-MM-dd-hh格式输入开始停车的时间:");
……
String stopTime=s.nextLine();
SimpleDateFormat d=new SimpleDateFormat("yyyy-MM-dd-hh");
Date start=null;
Date stop=null;
try {
start =d.parse(startTime);
stop =d.parse(stopTime);
} catch (ParseException e) {
e.printStackTrace();
}
int startHour =start.getHours();
……
int totalPrice=0;
if(startHour>=8 &&startHour<=20){
if(endDate==startDate){
if(endHour<=20){
totalPrice=(endHour-startHour)*4;
}else{
totalPrice=(endHour-startHour)*4+10;
}else{
if(endHour>startHour&&endHour<=20){
totalPrice=(endDate-startDate)*58+(endHour-startHour)*4;
}elseif(endHour>startHour&&endHour>20){
totalPrice=(endDate-startDate)*58+(endHour-startHour)*4+10;
}elseif(endHour<=startHour&&endHour<=8){
totalPrice=(endDate-startDate-1)*58+(20-startHour)*4+10;
}elseif(endHour<=startHour&&endHour>=8
&&endHour<=20){
totalPrice=(endDate-startDate-1)*58+(20-
startHour)*4+10+(endHour-8)*4;
}elseif(endHour<=startHour&&endHour>20
&&endHour<=24){
totalPrice=(endDate-startDate-1)*58+(20-
startHour)*4+10+(endHour-8)*4+10;
}
}
}elseif(startHour>=0 &&startHour<=8){
if(endDate==startDate){
if(endHour<=8){
totalPrice=10;
}elseif(endHour<=20){
totalPrice=10+(endHour-8)*4;
}elseif(endHour<=24){
totalPrice=20+(endHour-8)*4;
}
}else{
if(endHour<=8){
totalPrice=(10+12*4)*(endDate-startDate-1)+10;
}elseif(endHour>8 &&endHour<=20){
totalPrice=(10+12*4)*(endDate-startDate-1)+10+(endHour-8)*4;
}elseif(endHour>20){
totalPrice=(10+12*4)*(endDate-startDate-1)+10+(20-
8)*4+10;
}
}
}elseif(startHour>20){
if(endDate==startDate){
if(endHour<=24){
totalPrice=10;
}
}else{
if(endHour<=8){
totalPrice=(10+12*4)*(endDate-startDate-1);。