代码相对来说比较简单,希望有人看到并能提供代码的精简和优化
在这里输入代码
package com.car;
public class Car {
public int carid;
public Car(int carid){
this.carid = carid;
}
}
package com.car;
public class Xiaojiaoche extends Car {
//private int carid;
private String carname;
private int usermoney;
private int usercapacity;
public Xiaojiaoche(int carid,String carname,int usermoney,int usercapacity) {
// TODO 自动生成的构造函数存根
super(carid);
this.carid = carid;
this.carname = carname;
this.usermoney = usermoney;
this.usercapacity = usercapacity;
}
public int getCarid() {
return this.carid;
}
public String getCarname() {
return this.carname;
}
public int getUsermoney() {
return this.usermoney;
}
public int getUsercapacity() {
return this.usercapacity;
}
//方法重写,直接使用就行
public String toString() {
return carid+" "+carname+" "+usermoney+"元/天 载人:"+usercapacity+"人 "; }
}
package com.car;
public class Pika extends Car{
// public int carid;
public String carname;
public int usermoney;
public int usercapacity;
public int trainload;
public Pika(int carid,String carname,int usermoney,int usercapacity,int trainload) {
//this.carid = carid;
super(carid);
this.carname = carname;
this.usermoney = usermoney;
this.usercapacity = usercapacity;
this.trainload = trainload;
}
public int getCarid() {
return this.carid;
}
public String getCarname() {
return this.carname;
}
public int getUsermoney() {
return this.usermoney;
}
public int getUsercapacity() {
return this.usercapacity;
}
public int getTrainload() {
return this.trainload;
}
//方法重写,直接使用就行
public String toString() {
return carid+" "+carname+" "+usermoney+"元/天 载人:"+usercapacity+"人 载货:"+trainload+"吨 "
; }
}
package com.car;
public class Freightcar extends Car {
//定义成员
//private int carid;
private String carname;
private int usermoney;
private int trainload;
public Freightcar(int carid,String carname,int usermoney,int trainload) {
super(carid);
this.carname = carname;
this.usermoney = usermoney;
this.trainload = trainload;
}
public int getCarid() {
return this.carid;
}
public String getCarname() {
return this.carname;
}
public int getUsermoney() {
return this.usermoney;
}
public int getTrainload() {
return this.trainload;
}
//方法重写,直接使用就行
public String toString() {
return carid+" "+carname+" "+usermoney+"元/天 载货:"+trainload+"吨 "
; }
}
```package com.car;
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int x=0; //用于存放选车的序列号
int flag; //判断是否要租车
String namecar1 = ""; //存放载人车的车名
String namecar2 = ""; //存放载货车的车名
int usercapacityvalue = 0; //存放总载人数
int trainloadvalue = 0; //存放总载货数
int usermoneyvalue = 0; //存放租车总费用
Scanner scn = new Scanner(System.in); //方便后面直接使用
Xiaojiaoche []c = new Xiaojiaoche[4];
Freightcar []f = new Freightcar[4];
c[0] = new Xiaojiaoche(1,"奥迪A4",500,4);
c[1] = new Xiaojiaoche(2,"马自达6",400,4);
c[2] = new Xiaojiaoche(4,"金龙",800,20);
Pika p = new Pika(3,"皮卡雪6",450,4,2);
f[0] = new Freightcar(5,"松花江",400,4);
f[1] = new Freightcar(6,"依维柯",1000,20);
System.out.println("欢迎使用答答租车系统:");
System.out.println("您是否要租车:1是 0否");
flag = scn.nextInt();
if(flag==1) {
//条件成立,无限循环
for(;;) {
System.out.println("您可租车的类型及其价位表:");
System.out.println("序号 汽车名称 租金 容量");
System.out.println(c[0]);
System.out.println(c[1]);
System.out.println(p);
System.out.println(c[2]);
System.out.println(f[0]);
System.out.println(f[1]);
System.out.println("请输入您想要租汽车的数量");
int i = scn.nextInt(); //获取控制台读取到的值
for(int a=1;a<=i;a++) {
System.out.println("请输入第"+a+"辆车的序号:");
x = scn.nextInt();
//对读取到的序列号进行判断
if(x>0 && x< 5) {
switch(x) {
case 1: {
namecar1 = namecar1 + c[0].getCarname().toString()+" ";
usercapacityvalue +=c[0].getUsercapacity();
usermoneyvalue += c[0].getUsermoney();
break;
}
case 2: {
namecar1 = namecar1 + c[1].getCarname().toString()+" ";
usercapacityvalue +=c[1].getUsercapacity();
usermoneyvalue += c[1].getUsermoney();
break;
}
case 3: {
namecar1 = namecar1 + p.getCarname().toString()+" ";
usercapacityvalue += p.getUsercapacity();
usermoneyvalue += p.getUsermoney();
break;
}
case 4: {
namecar1 = namecar1 + c[2].getCarname().toString()+" ";
usercapacityvalue +=c[2].getUsercapacity();
usermoneyvalue += c[2].getUsermoney();
break;
}
}
}
if(x==3||x>4){
switch(x){
case 3: {
namecar2 = namecar2 + p.getCarname().toString()+" ";
trainloadvalue +=p.getTrainload();
break;
}
case 5: {
namecar2 = namecar2 + f[0].getCarname().toString()+" ";
trainloadvalue += f[0].getTrainload();
usermoneyvalue += f[0].getUsermoney();
break;
}
case 6: {
namecar2 = namecar2 + f[1].getCarname().toString()+" ";
trainloadvalue += f[1].getTrainload();
usermoneyvalue += f[1].getUsermoney();
break;
}
}
}
}
System.out.println("请输入租车天数");
usermoneyvalue *= scn.nextInt();
System.out.println("您的账单为:");
System.out.println("**************可载人的车有:");
System.out.println(namecar1+" "+"共载人:"+usercapacityvalue+"人");
System.out.println("**************可载货的车有:");
System.out.println(namecar2+" "+"共载货:"+trainloadvalue+"吨");
System.out.println("**************租车总价格:"+usermoneyvalue+"元");
// 防止数据累加
namecar1 = "";
namecar2 = "";
usercapacityvalue = 0;
trainloadvalue = 0;
usermoneyvalue = 0;
System.out.println("是否还想租车:1->继续 其他->退出");
if(scn.nextInt()!=1) {
System.exit(0); //关掉程序
}
}
}
else {
System.out.println("感谢您的使用");
System.exit(0);
}
}
}