想了两天,参考了@悟和@Jaster scz的方法,勉强写了出来,代码如下:
Vehicle.java:
package com.imooc.rentCar;
public abstract class Vehicle {
public int orderNum;
public String carName;
public int rentMoney;
}Audi4.java:
package com.imooc.rentCar;
public class Audi4 extends Vehicle{
Audi4(){
orderNum = 1;
carName = "奥迪A4";
rentMoney = 500;
}
}CX_5.java:
package com.imooc.rentCar;
public class CX_5 extends Vehicle{
CX_5(){
orderNum = 2;
carName = "马自达6";
rentMoney = 400;
}
}PikaSnow.java:
package com.imooc.rentCar;
public class PikaSnow extends Vehicle{
PikaSnow(){
orderNum = 3;
carName = "皮卡雪6";
rentMoney = 450;
}
}GoldenDragon.java:
package com.imooc.rentCar;
public class GoldenDragon extends Vehicle{
GoldenDragon(){
orderNum = 4;
carName = "金龙";
rentMoney = 800;
}
}SonghuaRiver.java:
package com.imooc.rentCar;
public class SonghuaRiver extends Vehicle{
SonghuaRiver(){
orderNum = 5;
carName = "松花江";
rentMoney = 400;
}
}Iveco.java:
package com.imooc.rentCar;
public class Iveco extends Vehicle{
Iveco(){
orderNum = 6;
carName = "依维柯";
rentMoney = 1000;
}
}test.java
package com.imooc.rentCar;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Vehicle veh1 = new Audi4();
Vehicle veh2 = new CX_5();
Vehicle veh3 = new PikaSnow();
Vehicle veh4 = new GoldenDragon();
Vehicle veh5 = new SonghuaRiver();
Vehicle veh6 = new Iveco();
System.out.println("欢迎使用嗒嗒租车系统: ");
System.out.println("您是否要租车: 1是 0否");
Scanner input1 = new Scanner(System.in);
int i = input1.nextInt();
if(i == 0){
System.out.println("欢迎下次光临");
}else{
System.out.println("您可租车的类型及价目表:");
System.out.println("序号\t汽车名称\t租金\t容量");
System.out.println("1.\t奥迪A4\t500元/天\t载人:4人");
System.out.println("2.\t马自达6\t400元/天\t载人:4人");
System.out.println("3.\t皮卡雪6\t450元/天\t载人:4人 载货:2吨");
System.out.println("4.\t金龙\t800元/天\t载人:20人");
System.out.println("5.\t松花江\t400元/天\t载货:4吨");
System.out.println("6.\t依维柯\t1000元/天\t载货:20吨");
}
System.out.println("请输入您要租车的数量:");
Scanner input2 = new Scanner(System.in);
int carNum = input2.nextInt();
int[] carOrder = new int[carNum];
for(int j = 0; j < carNum; j++){
System.out.println("请输入第"+(j+1)+"辆车的序号:");
Scanner input3 = new Scanner(System.in);
carOrder[j] = input3.nextInt();
}
System.out.println("请输入租车天数:");
Scanner input4 = new Scanner(System.in);
int rentDay = input4.nextInt();
System.out.println("您的账单:");
System.out.println("***可载人的车有:");
int sumPeople=0;
int sumCargo=0;
int sumRent=0;
for(int j = 0; j < carNum; j++){
if(carOrder[j] == 1 ){
System.out.println(veh1.carName+"\t");
sumPeople +=4;
sumRent +=500*rentDay;
}
if(carOrder[j] == 2 ){
System.out.println(veh2.carName);
sumPeople +=4;
sumRent += 400*rentDay;
}
if(carOrder[j] == 3){
System.out.println(veh3.carName);
sumPeople += 4;
sumCargo += 2;
sumRent += 450*rentDay;
}
if(carOrder[j] == 4){
System.out.println(veh4.carName);
sumPeople += 20;
sumRent += 800*rentDay;
}
}
System.out.println("共载人:" + sumPeople+ "人");
System.out.println("***载货的车有:");
for(int j = 0; j < carNum; j++){
if(carOrder[j] == 3){
System.out.println(veh3.carName);
sumPeople += 4;
sumCargo += 2;
sumRent += 450*rentDay;
}
if(carOrder[j] == 5){
System.out.println(veh5.carName);
sumCargo += 4;
sumRent += 400*rentDay;
}
if(carOrder[j] == 6){
System.out.println(veh6.carName);
sumCargo += 20;
sumRent += 1000*rentDay;
}
}
System.out.println("共载货:" + sumCargo+ "吨");
System.out.println("租车总价格:"+ sumRent +"元");
}
}运行结果如下:
欢迎使用嗒嗒租车系统:
您是否要租车: 1是 0否
1
您可租车的类型及价目表:
序号 汽车名称 租金 容量
1. 奥迪A4 500元/天 载人:4人
2. 马自达6 400元/天 载人:4人
3. 皮卡雪6 450元/天 载人:4人 载货:2吨
4. 金龙 800元/天 载人:20人
5. 松花江 400元/天 载货:4吨
6. 依维柯 1000元/天 载货:20吨
请输入您要租车的数量:
5
请输入第1辆车的序号:
1
请输入第2辆车的序号:
6
请输入第3辆车的序号:
4
请输入第4辆车的序号:
2
请输入第5辆车的序号:
2
请输入租车天数:
1
您的账单:
***可载人的车有:
奥迪A4
金龙
马自达6
马自达6
共载人:32人
***载货的车有:
依维柯
共载货:20吨
租车总价格:3100元
我的问题是我最后显示可载人和载货的车名是竖着显示的,而不是例子中横着显示的,请各位老师同学指点一下我的代码需要怎么修改。
,,,,,