java租车计算总租金_java第二季--答答租车系统详解

本文介绍了一个使用Java编写的答答租车系统,通过抽象类Cars和接口ShowCar来管理不同类型的汽车(Bus、Larry、Picars)。系统能够显示汽车信息,根据用户输入租用车辆的序号和天数,计算并输出租车总费用。

虽然已经有了那么多的答答租车系统的文章,但还是决定写一写,算是对自己的总结吧~ 强行利用了抽象类和接口(并不确定用的好不好~),求指点。

首先,一个抽象类Cars:

public abstract class Cars implements ShowCar{

private String name;//汽车名

private double money;//租金

private int person;//载客量

private double weight;//载货量

private int number;//序号

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getMoney() {

return money;

}

public void setMoney(double money) {

this.money = money;

}

public int getPerson() {

return person;

}

public void setPerson(int person) {

this.person = person;

}

public double getWeight() {

return weight;

}

public void setWeight(double weight) {

this.weight = weight;

}

public int getNumber() {

return number;

}

public void setNumber(int number) {

this.number = number;

}

}

为了熟悉接口而强行使用的接口类ShowCar

package com.imooc;

public interface ShowCar {

public void show();

}

然后3个不同的汽车类型:

public class Bus extends Cars implements ShowCar{

//创建载人汽车列表

public Bus(int number,String name,double money,int person){

this.setMoney(money);

this.setName(name);

this.setNumber(number);

this.setPerson(person);

}

public void show(){

System.out.println(getNumber()+"\t"+getName()+"\t"+getMoney()+"\t"+"载人:"+getPerson());

}

}

public class Larry extends Cars implements ShowCar{

public Larry(int number,String name,double money,double weight){

this.setName(name);

this.setMoney(money);

this.setWeight(weight);

this.setNumber(number);

}

public void show(){

System.out.println(getNumber()+"\t"+getName()+"\t"+getMoney()+"\t"+"载货:"+getWeight()+"吨");

}

}

public class Picars extends Cars implements ShowCar{

public Picars(int number,String name,double money,int person,double weight){

this.setNumber(number);

this.setName(name);

this.setMoney(money);

this.setPerson(person);

this.setWeight(weight);

}

public void show(){

System.out.println(getNumber()+"\t"+getName()+"\t"+getMoney()+"\t"+"载人:"+getPerson()+"载货:"+getWeight()+"吨");

}

}

最后测试类

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

//定义车

Cars[] cars={

new Bus(1,"奥迪A4",500,4),

new Bus(2,"马自达6",400,4),

new Picars(3,"皮卡雪6",450,4,2),

new Bus(4,"金龙\t",800,20),

new Larry(5,"松花江",400,4),

new Larry(6,"依维柯",1000,20),

};

//程序开始

System.out.println("欢迎使用答答租车系统:");

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

Scanner in=new Scanner(System.in);

int a=in.nextInt();

if(a==1){

System.out.println("您可租车的类型和价格表:");

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

for(int i=0;i

cars[i].show();

}

System.out.println("请输入您要租几辆车?");

int n=in.nextInt();

int[] carn=new int[n];

for(int i=0;i

System.out.println("请输入第"+(i+1)+"辆车的序号:");

carn[i]=in.nextInt();

}

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

int day=in.nextInt();

int sump=0; //计算人数

int sumw=0; //计算货物重量

int sumy=0;//计算租金

//计算账单

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

for(int i=0;i

if(cars[carn[i]-1].getPerson()!=0)

System.out.print(cars[carn[i]-1].getName()+"\t");

sump+=cars[carn[i]-1].getPerson();

}

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

System.out.println("***在货的车有:");

for(int i=0;i

//没有为bus的getWeight赋值,默认为0

if(cars[carn[i]-1].getWeight()!=0)

System.out.print(cars[carn[i]-1].getName()+"\t");

sumw+=cars[carn[i]-1].getWeight();

}

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

for(int i=0;i

sumy+=cars[carn[i]-1].getMoney();

}

System.out.println("租车总价格:"+day*sumy+"元");

}

in.close();

}

}

执行结果:

AAffA0nNPuCLAAAAAElFTkSuQmCC

AAffA0nNPuCLAAAAAElFTkSuQmCC

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值