为了账号安全,请及时绑定邮箱和手机立即绑定

本课作业源码

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

我的作业中用一种比较简单的方法,提供了一定租车数量下的多种选择搭配的方法。希望指导一下,编码风格有什么不足的地方

正在回答

1 回答

只要肯去想 都是好的  条条道路通罗马

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530716    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

本课作业源码

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信