包目录
Car.java 抽象类,有6个子类
package com.imooc;
public abstract class Car {
public static int pay=0;
public static String name="car";
public int peoplenum=0;
public int thingnum=0;
}
A1.java
package com.imooc;
public class A1 extends Car implements HoldPeople{
private final int pay=500;
private final String name="A1";
private int peoplenum=4;
private int thingnum=0;
@Override
public String toString() {
return "1 [pay=" + pay + ", name=" + name + ", peoplenum=" + peoplenum + ", thingnum=" + thingnum + "]";
}
public int getPeoplenum() {
return peoplenum;
}
public int getThingnum() {
return thingnum;
}
public int getPay() {
return pay;
}
public String getName() {
return name;
}
@Override
public void People() {
// TODO Auto-generated method stub
System.out.println("Can hold "+peoplenum+" people");
}
}
A2.java
package com.imooc;
public class A2 extends Car implements HoldPeople{
private final int pay=400;
private final String name="A2";
private int peoplenum=4;
private int thingnum=0;
@Override
public String toString() {
return "2 [pay=" + pay + ", name=" + name + ", peoplenum=" + peoplenum + ", thingnum=" + thingnum + "]";
}
public int getPeoplenum() {
return peoplenum;
}
public int getThingnum() {
return thingnum;
}
public int getPay() {
return pay;
}
public String getName() {
return name;
}
@Override
public void People() {
// TODO Auto-generated method stub
System.out.println("Can hold "+peoplenum+" people");
}
}
A3.java
package com.imooc;
public class A3 extends Car implements HoldPeople{
private final int pay=800;
private final String name="A3";
private int peoplenum=20;
private int thingnum=0;
@Override
public String toString() {
return "4 [pay=" + pay + ", name=" + name + ", peoplenum=" + peoplenum + ", thingnum=" + thingnum + "]";
}
public int getPeoplenum() {
return peoplenum;
}
public int getThingnum() {
return thingnum;
}
public int getPay() {
return pay;
}
public String getName() {
return name;
}
@Override
public void People() {
// TODO Auto-generated method stub
System.out.println("Can hold "+peoplenum+" people");
}
}
B1.java
package com.imooc;
public class B1 extends Car implements HoldPeople,HoldThing{
private final int pay=450;
private final String name="B1";
private int peoplenum=4;
private int thingnum=2;
@Override
public String toString() {
return "3 [pay=" + pay + ", name=" + name + ", peoplenum=" + peoplenum + ", thingnum=" + thingnum + "]";
}
public int getPeoplenum() {
return peoplenum;
}
public int getThingnum() {
return thingnum;
}
public int getPay() {
return pay;
}
public String getName() {
return name;
}
@Override
public void People() {
// TODO Auto-generated method stub
System.out.println("Can hold "+peoplenum+" people");
}
@Override
public void Thing() {
// TODO Auto-generated method stub
System.out.println("Can hold "+thingnum+" things");
}
}
C1.java
package com.imooc;
public class C1 extends Car implements HoldThing{
private final int pay=400;
private final String name="C1";
private int peoplenum=0;
private int thingnum=4;
@Override
public String toString() {
return "5 [pay=" + pay + ", name=" + name + ", peoplenum=" + peoplenum + ", thingnum=" + thingnum + "]";
}
public int getPeoplenum() {
return peoplenum;
}
public int getThingnum() {
return thingnum;
}
public int getPay() {
return pay;
}
public String getName() {
return name;
}
@Override
public void Thing() {
// TODO Auto-generated method stub
System.out.println("Can hold "+thingnum+" things");
}
}
C2.java
package com.imooc;
public class C1 extends Car implements HoldThing{
private final int pay=400;
private final String name="C1";
private int peoplenum=0;
private int thingnum=4;
@Override
public String toString() {
return "5 [pay=" + pay + ", name=" + name + ", peoplenum=" + peoplenum + ", thingnum=" + thingnum + "]";
}
public int getPeoplenum() {
return peoplenum;
}
public int getThingnum() {
return thingnum;
}
public int getPay() {
return pay;
}
public String getName() {
return name;
}
@Override
public void Thing() {
// TODO Auto-generated method stub
System.out.println("Can hold "+thingnum+" things");
}
}
HoldPeople.java 接口
package com.imooc;
public interface HoldPeople {
public void People();
}
HoldThing.java 接口
package com.imooc;
public interface HoldThing {
public void Thing();
}
User.java
package com.imooc;
import java.util.Scanner;
public class User {
private int a1num;
private int a2num;
private int a3num;
private int b1num;
private int c1num;
private int c2num;
private int days;
public int getDays() {
return days;
}
public void setDays(int days) {
this.days = days;
}
public int getA1num() {
return a1num;
}
public void setA1num(int a1num) {
this.a1num = a1num;
}
public int getA2num() {
return a2num;
}
public void setA2num(int a2num) {
this.a2num = a2num;
}
public int getA3num() {
return a3num;
}
public void setA3num(int a3num) {
this.a3num = a3num;
}
public int getB1num() {
return b1num;
}
public void setB1num(int b1num) {
this.b1num = b1num;
}
public int getC1num() {
return c1num;
}
public void setC1num(int c1num) {
this.c1num = c1num;
}
public int getC2num() {
return c2num;
}
public void setC2num(int c2num) {
this.c2num = c2num;
}
//构造函数
User(){
setA1num(0);
setA2num(0);
setA3num(0);
setB1num(0);
setC1num(0);
setC2num(0);
setDays(0);
}
//租车函数
public void HireCar(int i) {
Scanner input=new Scanner(System.in);
System.out.println("Input the "+(i+1)+" car's number:");
int c=input.nextInt();
switch(c) {
case 1:
this.a1num++;
break;
case 2:
this.a2num++;
break;
case 3:
this.b1num++;
break;
case 4:
this.a3num++;
break;
case 5:
this.c1num++;
break;
case 6:
this.c2num++;
break;
}
}
//计算能装多少人函数
public int PeopleNum() {
return (this.a1num*4+this.a2num*4+this.b1num*4+this.a3num*20);
}
//计算能装多少货函数
public int ThingNum() {
return (this.b1num*2+this.c1num*4+this.c2num*20);
}
//计算金额函数
public int money() {
return ((this.a1num*500+this.a2num*400+this.b1num*450+this.a3num*800+this.c1num*400+this.c2num*1000)*days);
}
@Override
public String toString() {
return "User [peoplenum=" + PeopleNum() + ", thingnum=" + ThingNum()+ ", hiredays="+days+", pay=" + money()+ "]";
}
}
Main.java
package com.imooc;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
//询问用户是否要租车
Scanner input=new Scanner(System.in);
System.out.println("Do you want to hire car? 1 yes 0 no");
int a=input.nextInt();
//对用户回答进行判断
if(a==0) {
//用户不租车
System.out.println("Byebye");
}
else {
//用户要租车
//显示车型表
Car a1=new A1();
Car a2=new A2();
Car a3=new A3();
Car b1=new B1();
Car c1=new C1();
Car c2=new C2();
System.out.println(a1.toString());
System.out.println(a2.toString());
System.out.println(b1.toString());
System.out.println(a3.toString());
System.out.println(c1.toString());
System.out.println(c2.toString());
//创建一个用户对象
User user=new User();
//询问用户要租几辆车
System.out.println("Input how many car you want to hire:");
int b=input.nextInt();
//开始循环执行租车程序
for(int i=0;i<b;i++) {
user.HireCar(i);
}
//询问用户租车天数
System.out.println("Input how many days you want to hire:");
int d=input.nextInt();
input.close();
//传给用户对象
user.setDays(d);
//输出用户清单
System.out.println(user.toString());
}
}
}