关于租车问题的java视频_java第二季答答租车系统,参考大神代码作了改进

定义了汽车抽象类,客车,货车,皮卡三个子类 。 放在zucheSystem包中

定义载客和载货两个接口。 放在Icar包中

最后一个实现类。 放在carSystem包中

欢迎大家一起改进讨论。

package zucheSystem;

//定义一个汽车抽象类

public abstract class CarStore {

private String name;

private double money;

private int id;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public double getMoney() {

return money;

}

public void setMoney(double money) {

this.money = money;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

package zucheSystem;

import Icar.zaihuo;

//货车类

public class huoche extends CarStore implements zaihuo{

private int newGood;

public huoche(int id,String name,double money,int newGood){

super.setId(id);

super.setName(name);

super.setMoney(money);

this.setGood(newGood);

}

@Override

public void setGood( int newGood) {

// TODO 自动生成的方法存根

this.newGood=newGood;

}

@Override

public int getGood() {

// TODO 自动生成的方法存根

return newGood;

}

//重写输出语句

public String toString() {

return super.getId() + " \t" + super.getName() + "\t" + super.getMoney() + "元/天\t" + " " + "载货:" + this.getGood() + "吨";

}

}

package zucheSystem;

import Icar.zaike;

//客车类

public class keche extends CarStore implements zaike{

private int newPeople;

public keche(int id,String name,double money,int newPeople){

super.setId(id);

super.setName(name);

super.setMoney(money);

this.setPeople(newPeople);

}

@Override

public void setPeople(int newPeople) {

// TODO 自动生成的方法存根

this.newPeople=newPeople;

}

@Override

public int getPeople() {

// TODO 自动生成的方法存根

return newPeople;

}

@Override

//重写输出语句

public String toString() {

return super.getId() + "\t " + super.getName() + "\t" + super.getMoney() + "元/天\t" + " " + "载人:" + this.getPeople() + "人";

}

}

package zucheSystem;

import Icar.zaihuo;

import Icar.zaike;

//皮卡类

public class pika extends CarStore implements zaike,zaihuo{

private int newGood;

private int newPeople;

public pika (int id ,String name,double money,int newPeope,int newGood){

super.setId(id);

super.setName(name);

super.setMoney(money);

this.setPeople(newPeope);

this.setGood(newGood);

}

@Override

public void setGood( int newGood) {

// TODO 自动生成的方法存根

this.newGood=newGood;

}

@Override

public int getGood() {

// TODO 自动生成的方法存根

return newGood;

}

@Override

public void setPeople(int newPeople) {

// TODO 自动生成的方法存根

this.newPeople=newPeople;

}

@Override

public int getPeople() {

// TODO 自动生成的方法存根

return newPeople;

}

@Override

//重写输出语句

public String toString() {

return super.getId() + "\t " + super.getName() + "\t" + super.getMoney() + "元/天\t" + " " + "载人"+this.getPeople()+"\t"+"载货:" + this.getGood() + "吨";

}

}

package Icar;

//载货接口

public interface zaihuo {

public void setGood(int n);

public int getGood();

}

package Icar;

//载客接口

public interface zaike {

public void setPeople(int n);

public int getPeople();

}

package CarSystem;

import java.util.Scanner;

import zucheSystem.CarStore;

import zucheSystem.huoche;

import zucheSystem.keche;

import zucheSystem.pika;

//租车系统类

public class use {

//初始化一个车库

CarStore[] car={new keche(1,"奥迪A4",500,4),

new keche(2,"马自达",400,4),

new pika(3,"皮卡雪",450,4,20),

new keche(4,"金龙",800,20),

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

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

};

Scanner sc=new Scanner(System.in);

public void useSysem(){

System.out.println("欢迎使用答答租车系统: \n是否租车 1是 0否");

int input=sc.nextInt();

if(input==1){

System.out.println("您可租车的类型和价目表: "+"\n序号"+"\t"+"车名"+"\t"+"租金"+"\t"+ " \t"+"容量");

for(int i=0;i

System.out.println(car[i]);

}

}else if(input==0){System.out.println("欢迎下次光临!");

System.exit(0);

}else{System.out.println("输入有误!系统自爆程序已启动!");

System.exit(0);}

String outname=" "; //车名

double Rmbsum=0; //租金总额

int Goodsum=0; //总载货量

int Peoplesum=0; // 总载客量

System.out.println("请输入您要租车的数量:");

int num=sc.nextInt();

if(num==0||num<0){

System.out.println("啪,你已经死了!");

System.exit(0);

}

int count=1;

int j;

while(count<=num){

do{

//do-while循环判断输入是否正确。

System.out.println("请输入第"+(count)+"辆车的序号:"+"\t"+"(温馨提示有效序号为1到"+car.length+")");

j=sc.nextInt()-1;

}while(j>=car.length||j<0);

//获得对应序号的车名,租金,容量

if(car[j].getClass()==keche.class){

outname=car[j].getName();

System.out.println(outname);

Rmbsum=car[j].getMoney()+Rmbsum;

Peoplesum=((keche) car[j]).getPeople()+Peoplesum;

}

else if(car[j].getClass()==huoche.class){

outname=car[j].getName();

System.out.println(outname);

Rmbsum=car[j].getMoney()+Rmbsum;

Goodsum=Goodsum+((huoche)car[j]).getGood();

}

else if(car[j].getClass()==pika.class){

outname=car[j].getName();

System.out.println(outname);

Rmbsum=car[j].getMoney()+Rmbsum;

Goodsum=Goodsum+((pika)car[j]).getGood();

Peoplesum=((pika) car[j]).getPeople()+Peoplesum;

}

count++;

}

System.out.println("请输入您要租的天数:");

int day=sc.nextInt();

System.out.println("您的账单是:");

System.out.println("载客数"+Peoplesum+"人"+"\n"+"载货量"+Goodsum+"吨"+"\n"+"总金额"+Rmbsum*day+"元");

System.out.println("欢迎下次光临!");

}

//测试类

public static void main(String[] args){

use u=new use();

u.useSysem();

System.exit(0);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值