啊啊,经过Angel同学(?)的提醒,重新完善了一下代码。
package common; import java.util.Scanner; public class SentCar { public static void main(String[] args) { int price = 0; int totalPeople = 0; int totalShop = 0; Car[] cars = new Car[3]; cars[0] = new CarryPeople("擎天柱", 4, 300, 1); cars[1] = new CarryShop("大黄蜂", 20, 400, 2); cars[2] = new CarryAll("红蜘蛛", 4, 40, 800, 3); System.out.println("欢迎使用变形金刚租车系统"); System.out.println("您是否要租车:1是 0否"); Scanner scan = new Scanner(System.in); String str1 = scan.next(); if(str1.equals("0")){ System.out.println("欢迎下次光临!再见"); }else if(str1.equals("1")){ System.out.println("您可使用的租车类型和价格如下:"); for (int i = 0;i < 3;i++){ cars[i].printMessage(); } System.out.println("请输入你要租车的数量:"); int number = scan.nextInt(); String[] carryPeople = new String[number]; String[] carryShop = new String[number]; for(int i = 0;i < number;i++){ System.out.println("请输入你要租的第"+ (i+1) +"车的类型"); int type = scan.nextInt(); if(type > 3| type < 0){ System.out.println("输入不合法!"); }else{ switch (type){ case 0: System.out.println("第" + (i+1) +"辆车是" + cars[type - 1].name); price = price +cars[type - 1].price; carryPeople[i] = cars[type - 1].name; case 1: System.out.println("第" + (i+1) +"辆车是" + cars[type - 1].name); price = price +cars[type - 1].price; carryShop[i] = cars[type - 1].name; case 2: System.out.println("第" + (i+1) +"辆车是" + cars[type - 1].name); price = price +cars[type - 1].price; carryPeople[i] = cars[type - 1].name; carryShop[i] = cars[type - 1].name; } /*System.out.println("第" + (i+1) +"辆车是" + cars[type - 1].name); price = price + cars[type - 1].price; name[i] = cars[type - 1].name; selectCars[i] = (CarryAll)cars[type -1];*/ } } System.out.println("请选择你需要的租车天数:"); int day = scan.nextInt(); scan.close(); price = price * day; System.out.println("您的账单是:"); System.out.print("变形金刚系列中可载人的车有:" + " "); for(int i = 0;i < number; i ++){ if (carryPeople[i] == null){ }else{ System.out.print(carryPeople[i] + " "); } } System.out.println("总载人量是:" + totalPeople + "人"); System.out.print("变形金刚系列中可载货的车有:" + " "); for(int i = 0;i < number; i ++){ if (carryShop[i] == null){ }else{ System.out.print(carryShop[i] + " "); } } System.out.println("总载货量是:" + totalShop + "吨"); System.out.println("您的租车总价格是"+ price +"元。"); } } }
下面的是各种类……
package common; public abstract class Car { String name; int price; int number; public void printMessage(){ } }
package common; public class CarryPeople extends Car{ int busload; public CarryPeople(){ } public CarryPeople(String name, int people, int price, int number){ this.name = name; this.busload = people; this.price = price; this.number = number; } public void printMessage(){ System.out.println(number + "." + "\t" + name + "\t" + price + "元/天 \t" + "载人:" + busload + "人"); } }
package common; public class CarryShop extends Car{ int cargo; public CarryShop(){ } public CarryShop(String name, int size, int price, int number){ this.name = name; this.cargo = size; this.price = price; this.number = number; } public void printMessage(){ System.out.println(number + ".\t" + name + "\t" + price + "元/天 \t " + "载货:" + cargo + "吨"); } }
package common; public class CarryAll extends Car{ int busload; int cargo; public CarryAll(){ } public CarryAll(String name, int people,int size, int price, int number){ this.name = name; this.cargo = size; this.busload = people; this.price = price; this.number = number; } public void printMessage() { // TODO Auto-generated method stub System.out.println(number + "." + "\t" + name + "\t" + price + "元/天 \t" + "载人:" + cargo + "人 载货:" + busload +"吨"); } }