java抽象类小汽车日租金_java小项目,租车系统

这学期要学java,本以为暑假学windows程序设计的,没想到一些事情耽误了 ,只能回来再补了,因为学过c++,面向对象的三大特性什么的,c++比java难一点,所以学java感觉还比骄轻松,下面就是一个小项目,租车系统

FmwTIM-TI_9-poPFJwBBBOcu1N8e

抽象汽车类Auto.ava

package hireAuto;

public abstract class Auto {

//抽象类没必要定义属性,但是取得车型,价格,容量都是一样的,不妨定义属性

String name;

int price;

int capacity;//表示载人

int capacity2;//表示载货

int a;//a为1则表示可以载人,反之不可

int b;//b为1则表示可以载货,反之不可

public String getName()

{

return name;

}

public int getPrice()

{

return price;

}

public int getCapacity()

{

return capacity;

}

public int getCapacity2()

{

return capacity2;

}

//只有运输不同

public abstract void transport();//运输,货车载人,客车载客

}

A.java

package hireAuto;

public class A extends Auto {

public A()

{

this.name="奥迪A4";

this.price=500;

this.capacity=4;

this.capacity2=0;

this.a=1;

this.b=0;

}

public void transport()

{

System.out.println(this.getName()+"\t"+this.getPrice()+"元/天\t\t"+"载人:"+this.getCapacity()+"人");

}

}

B.java

package hireAuto;

public class B extends Auto {

public B()

{

this.name="马自达6";

this.price=400;//单位:元/天

this.capacity=4;//单位:人

this.capacity2=0;

this.a=1;

this.b=0;

}

public int getPricePerDay()

{

return getPrice()*getCapacity();

}

public void transport()

{

System.out.println(this.getName()+"\t"+this.getPrice()+"元/天\t\t"+"载人:"+this.getCapacity()+"人");

}

}

C.java

package hireAuto;

public class C extends Auto {

int capacity2;//单位:吨

public C()

{

this.name="皮卡雪6";//即可载人,也可载货

this.price=450;//单位:元/天

this.capacity=4;//单位:人

this.capacity2=2;//单位:吨

this.a=1;

this.b=1;

}

public int getCapacity2()

{

return capacity2;

}

public void transport() {

// TODO Auto-generated method stub

System.out.println(getName()+"\t"+getPrice()+"元/天\t\t"+"载人:"+getCapacity()+"人 载货:"+getCapacity2()+"吨");

}

}

D.java

package hireAuto;

public class D extends Auto {

public D()

{

this.name="金龙";

this.price=800;//单位:元/天

this.capacity=20;//单位:人

this.capacity2=0;

this.a=1;

this.b=0;

}

@Override

public void transport() {

// TODO Auto-generated method stub

System.out.println(getName()+"\t"+getPrice()+"元/天\t\t"+"载人:"+getCapacity()+"人");

}

}

E.java

package hireAuto;

public class E extends Auto {

public E()

{

this.name="松花江";

this.price=400;//单位:元/天

this.capacity=0;

this.capacity2=4;

this.a=0;

this.b=1;

}

@Override

public void transport() {

// TODO Auto-generated method stub

System.out.println(getName()+"\t"+getPrice()+"元/天\t\t"+"载货:"+getCapacity()+"吨");

}

}

F.java

package hireAuto;

public class F extends Auto {

public F()

{

this.name="依维柯";

this.price=1000;//单位:元/天

this.capacity=0;//单位:吨

this.capacity2=20;

this.a=0;

this.b=1;

}

@Override

public void transport() {

// TODO Auto-generated method stub

System.out.println(getName()+"\t"+getPrice()+"元/天\t"+"载货:"+getCapacity()+"吨");

}

}

hireAutoSystem.java(相当于c++的主函数了)

package hireAuto;

import java.util.Scanner;

public class hireAutoSystem {

public static void main(String[] args) {

// TODO Auto-generated method stub

final int count=6;//可租用的数量

System.out.println("欢迎来到滴滴租车系统");

System.out.println("是否租车:1(是),0(否)");

Scanner input=new Scanner(System.in);

int iSel=input.nextInt();

if(iSel==0)

{

System.out.println("欢迎使用此系统,再见");

return ;

}

System.out.println("下面是可租车的类型及价格等信息");

System.out.println("序号\t汽车型号\t租金\t\t容量");

Auto[] autoArr=new Auto[6];

autoArr[0]=new A();

autoArr[1]=new B();

autoArr[2]=new C();

autoArr[3]=new D();

autoArr[4]=new E();

autoArr[5]=new F();

for(int i=0;i

{

System.out.print(i+1+"\t");

autoArr[i].transport();

}

System.out.println("请输入要租车的数量(最大为"+count+"):");

int iCount=input.nextInt();

if(iCount>count)

{

System.out.println("对不起,输入数量有误!!!再见");

return;

}

int[] auto=new int[iCount];

System.out.println("请依次输入要租车的序号");

for(int i=0;i

auto[i]=input.nextInt()-1;

System.out.println("请输入租车天数");

int days=input.nextInt();

System.out.println("账单如下:");

System.out.println("可载人的车");

int totalPrice=0;

int iPerson=0;

int iGoods=0;

for(int i=0;i

{

totalPrice+=autoArr[auto[i]].price;

if(autoArr[auto[i]].a==1)

{

System.out.print(autoArr[auto[i]].getName()+"\t");

iPerson+=autoArr[auto[i]].getCapacity();

}

}

System.out.println("共载人:"+iPerson+"人");

System.out.println("可载货的车");

for(int i=0;i

if(autoArr[auto[i]].b==1)

{

System.out.print(autoArr[i].getName()+"\t");

iGoods+=autoArr[auto[i]].getCapacity2();

}

System.out.println("共载货:"+iGoods+"吨");

System.out.println("总价格:"+days*totalPrice);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值