本课作业源码
package RentCar; //父类 public class Car { public String carName ; public int rentCash ; public int man ; public int Goods; }
package RentCar; //奥迪A4 public class Audi extends Car { //初始化属性 public String carName ="奥迪A4"; public int rentCash = 500; public int man = 4; public int Goods = 0; /** * 重写toString方法 */ @Override public String toString() { // TODO Auto-generated method stub return carName+"\t"+rentCash+"元/天\t载人:"+man+"人"; } }
package RentCar; //皮卡雪 public class PickUp extends Car { //初始化属性值 public String carName ="皮卡雪6"; public int rentCash = 450; public int man = 4; public int Goods = 2; /* * 重写toString方法 */ @Override public String toString() { // TODO Auto-generated method stub return carName+"\t"+rentCash+"元/天\t载人:"+man+"人 载货:"+Goods+"吨"; } }
package RentCar; //金龙 public class JinLong extends Car { //初始化属性 public String carName ="金龙"; public int rentCash = 800; public int man = 20; public int Goods = 0; /** * 重写toString方法 */ @Override public String toString() { // TODO Auto-generated method stub return carName+"\t"+rentCash+"元/天\t载人:"+man+"人"; } }
package RentCar; //松花江 public class SongHuaRiver extends Car { //初始化属性 public String carName ="松花江"; public int rentCash = 400; public int man = 0; public int Goods = 4; /** * 重写toString方法 */ @Override public String toString() { // TODO Auto-generated method stub return carName+"\t"+rentCash+"元/天\t载货:"+Goods+"吨"; } }
package RentCar; //依维柯 public class Iveco extends Car { //初始化属性 public String carName ="依维柯"; public int rentCash = 1000; public int man = 0; public int Goods = 20; /** * 重写toString方法 */ @Override public String toString() { // TODO Auto-generated method stub return carName+"\t"+rentCash+"元/天 载货:"+Goods+"吨"; } }
package RentCar; import java.util.*; public class Inital { Scanner scanner = new Scanner(System.in); public static int carNumber[][] = new int[6][2];//定义一个二维数组类型的全局变量,来存储每一类车的数量和租用天数 public static void main(String[] args){ Scanner scanner = new Scanner(System.in); Inital ll =new Inital(); System.out.println("欢迎使用答答租车系统\n请问您是否需要租车服务:1是 0否"); int choose; choose = scanner.nextInt(); if(choose == 1) { ll.showInfor(); ll.choose(); ll.count(); }else{ System.out.println("不好意思给您带来不便"); System.exit(0); } } public void showInfor()//输出车辆信息 { System.out.println("您可租车的类型及其价目表:"); System.out.println("序号\t汽车名称\t租金\t容量"); System.out.println("1.\t"+new Audi().toString()); System.out.println("2.\t"+new Mazda().toString()); System.out.println("3.\t"+new PickUp().toString()); System.out.println("4.\t"+new JinLong().toString()); System.out.println("5.\t"+new SongHuaRiver().toString()); System.out.println("6.\t"+new Iveco().toString()); } public void choose() { int ID = 0;//车辆的序号 int day =0;//租用的天数 int carNum = 0;//租用汽车总数量 int num =0;//某类汽车的数量 System.out.println("请输入您要租用的汽车总数量:"); carNum = scanner.nextInt(); for(int i = 0; i < 7; i++){ System.out.println("请输入你需要租用汽车的序号"); ID = scanner.nextInt(); System.out.println("请输入需要租用本类型车的数量"); num = scanner.nextInt(); System.out.println("请输入你需要租赁的天数"); day = scanner.nextInt(); switch(ID) { case 1: carNumber[0][0]= num; carNumber[0][1] = day; break; case 2: carNumber[1][0]= num; carNumber[1][1] = day; break; case 3: carNumber[2][0]= num; carNumber[2][1] = day; break; case 4: carNumber[3][0]= num; carNumber[3][1] = day; break; case 5: carNumber[4][0]= num; carNumber[4][1] = day; break; case 6: carNumber[5][0]= num; carNumber[5][1] = day; break; default : System.out.println("您的输入有误"); i = 0; break; } int m = 0; for(int j = 0; j < 6; j++){ m += carNumber[j][0]; } if(m > carNum){ System.out.println("输入有误,请再次访问"); System.exit(0); }else if(m == carNum){ break; } } } public void count() { int manNumber = 0;//总载客人数 int tannage = 0;//总吨位 int counts = 0;//总花销 System.out.println("您的账单:"); System.out.println("***可载人的车有:"); for(int i = 0;i < 4; i++){ if(carNumber[i][0] >0) { if(i == 0){ System.out.print(new Audi().carName+"\t"); manNumber = manNumber + carNumber[i][0]*4; counts = counts + 500*carNumber[i][1]*carNumber[i][0]; } if(i == 1){ System.out.print(new Mazda().carName+"\t"); manNumber = manNumber + carNumber[i][0]*4; counts = counts + 400*carNumber[i][1]*carNumber[i][0]; } if(i == 2){ System.out.print(new PickUp().carName+"\t"); manNumber = manNumber + carNumber[i][0]*4; tannage = tannage + carNumber[2][0]*2; counts = counts + 450*carNumber[i][1]*carNumber[i][0]; } if(i == 3){ System.out.print(new JinLong().carName+"\t"); manNumber = manNumber + carNumber[i][0]*20; counts = counts + 800*carNumber[i][1]*carNumber[i][0]; } } } System.out.println("共载人:"+manNumber+"人"); System.out.println("***载货的车有:"); if(carNumber[2][0] >0){ System.out.print(new PickUp().carName+"\t"); } if(carNumber[4][0] > 0) { System.out.print(new SongHuaRiver().carName+"\t"); tannage = tannage + carNumber[4][0]*7; counts = counts + 400*carNumber[4][1]*carNumber[4][0]; } if(carNumber[5][0] > 0) { System.out.print(new Iveco().carName+"\t"); tannage = tannage + carNumber[5][0]*20; counts = counts + 1000*carNumber[5][1]*carNumber[5][0]; } System.out.println("共载货:"+tannage+"吨"); System.out.println("***租车总价格:"+counts+"元"); } }
看了置顶的代码,哭,封装和分类继承的好麻烦 T T
我的作业中用一种比较简单的方法,提供了一定租车数量下的多种选择搭配的方法。希望指导一下,编码风格有什么不足的地方