本文实例为大家分享了java编写汽车租赁系统的具体代码,供大家参考,具体内容如下
题目要求:
1,汽车租赁信息表如下:
2,类和属性:
3,运行效果:
效果实现:
代码实现:
1,车类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
package homework.exam; public abstract class Vehicle { private String num; private String brand; private double rent; public String getNum() { return num; } public void setNum(String num) { this .num = num; } public String getBrand() { return brand; } public void setBrand(String brand) { this .brand = brand; } public double getRent() { return rent; } public void setRent( double rent) { this .rent = rent; } public Vehicle() { } //含参构造 public Vehicle(String num, String brand, double rent) { this .num = num; this .brand = brand; this .rent = rent; } @Override public String toString() { return "汽车{" + "车牌号='" + num + '\ '' + ", 品牌='" + brand + '\ '' + ", 日租金=" + rent + '}' ; } public abstract double totalmoney( int days , double rent); public abstract boolean equals(Vehicle o); } |
2,汽车类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package homework.exam; public class Cars extends Vehicle{ private String type; public String getType() { return type; } public void setType(String type) { this .type = type; } public Cars(String brand,String type) { this .type = type; } public Cars(String num, String brand, double rent, String type) { super (num, brand, rent); this .type = type; } @Override public String toString() { return "Cars{" + "type='" + type + '\ '' + '}' ; } //计算小汽车的总租金 @Override public double totalmoney( int days, double rent) { if (days> 7 ){ return days*rent* 0.9 ; } else if (days> 30 ){ return days*rent* 0.8 ; } else if (days> 150 ){ return days*rent* 0.7 ; } return days*rent; } //重写equals方法 @Override public boolean equals(Vehicle o) { if (o instanceof Cars){ Cars cars= (Cars) o; return this .getType().equals(cars.getType())&& this .getBrand().equals(o.getBrand()); } return false ; } } |
3,客车类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package homework.exam; public class Bus extends Vehicle { private String seat; public String getSeat() { return seat; } public void setSeat(String seat) { this .seat = seat; } public Bus(String num, String brand, double rent, String seat) { super (num, brand, rent); this .seat = seat; } //计算客车的租金 @Override public double totalmoney( int days, double rent) { if (days>= 3 ){ return days*rent* 0.9 ; } else if (days>= 7 ){ return days*rent* 0.8 ; } else if (days>= 30 ){ return days*rent* 0.7 ; } else if (days>= 150 ){ return days*rent* 0.6 ; } return days*rent; } //重写equals方法 @Override public boolean equals(Vehicle o) { return false ; } } |
4,车辆管理类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package homework.exam; public class CarRent { //创建汽车数组,将汽车的信息放在数组中 public Cars[] carMake(){ Cars c1 = new Cars( "京NY28588" , "宝马" , 800 , "x6" ); Cars c2 = new Cars( "京CNY3284" , "宝马" , 600 , "550i" ); Cars c3 = new Cars( "京NT37465" , "别克" , 300 , "林荫大道" ); Cars c4 = new Cars( "京NT96928" , "别克" , 600 , "GL8" ); Cars[] arr1 ={c1,c2,c3,c4}; return arr1; } //创建客车数组,将汽车的信息放在数组中 public Bus[] busMake(){ Bus b1 = new Bus( "京6566754" , "金杯" , 800 , "16座" ); Bus b2 = new Bus( "京8696667" , "金龙" , 800 , "16座" ); Bus b3 = new Bus( "京9696996" , "金杯" , 1500 , "34座" ); Bus b4 = new Bus( "京8696998" , "金龙" , 1500 , "34座" ); Bus[] arr2={b1,b2,b3,b4}; return arr2; } } |
5,业务服务类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
package homework.exam; import java.util.Scanner; public class CarService { public void rentcar(){ System.out.println( "**********欢迎光临秋名山守望者汽车租赁公司**********" ); Scanner sc = new Scanner(System.in); System.out.println( "1,轿车 2,客车" ); System.out.print( "请输入您要租赁的汽车类型:" ); int i = sc.nextInt(); CarRent carRent = new CarRent(); //创建车库对象 Cars[] cars = carRent.carMake(); //拿到轿车数组对象 Cars car= null ; Bus[] buses = carRent.busMake(); //拿到客车数组对象 Bus bus= null ; //判断用户选择的车型 if (i== 1 ){ System.out.print( "请选择你要租赁的汽车品牌:(1,别克 2,宝马)" ); int i1 = sc.nextInt(); if (i1== 1 ){ System.out.print( "请输入你要租赁的汽车类型:(1,林荫大道 2,GL8 )" ); } else { System.out.print( "请输入你要租赁的汽车类型:(1,x6 2,550i )" ); } String i2 = sc.next(); //遍历汽车数组,拿到用户选择的汽车 for ( int j = 0 ; j < cars.length; j++) { if (cars[j].getType().equals(i2)){ //当选择的车的类型与数组中的匹配时 car=cars[j]; //将车赋值给car break ; } } System.out.print( "请输入你要租赁的天数:" ); int days = sc.nextInt(); System.out.print( "分配给你的汽车牌号是:" ); System.out.println(car.getNum()); //获取汽车的车牌 double totalmoney = 0 ; //调用total totalmoney = car.totalmoney(days, car.getRent()); //计算用户的租金 System.out.print( "你需要支付的租赁分费用是:" ); System.out.print(totalmoney); } else if (i== 2 ){ System.out.print( "请选择你要租赁的汽车品牌:(1,金龙 2,金杯)" ); String i2 = sc.next(); System.out.print( "请输入你要租赁的汽车座位数:(1,16座 2,34座)" ); String i3 = sc.next(); //遍历客车数组,拿到用户选择的客车 for ( int j = 0 ; j < buses.length; j++) { //当输入的客车的车牌和座位与数组中的相等,就选出用户选择的车 if (buses[j].getBrand().equals(i2)&&buses[j].getSeat().equals(i3)){ bus=buses[j]; //将选择的车辆赋值给bus break ; } } System.out.print( "请输入你要租赁的天数:" ); int days = sc.nextInt(); System.out.print( "分配给你的汽车牌号是:" ); System.out.println(); System.out.println(bus.getNum()); //拿到用户选择的车牌号 double totalmoney = 0 ; //调用totalmoney方法 totalmoney=bus.totalmoney(days, bus.getRent()); //用用户输入的天数。来计算租金 System.out.print( "你需要支付的租赁分费用是:" ); System.out.print(totalmoney); } } } |
6,测试类:
1
2
3
4
5
6
7
8
|
package homework.exam; public class Test { public static void main(String[] args) { CarService cs = new CarService(); cs.rentcar(); } } |
控制台输入的内容,我选择的是输入字符串类型,没有按照效果图上,如果你做的话,你可以用三元运算符来实现哦!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_44889894/article/details/111331088