租车程序

包目录

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());

                  

            }

      }

      

      

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值