本文实例为大家分享了java实现答答租车系统的具体代码,供大家参考,具体内容如下
项目需求:
基本界面需求:
and:
最后是把账单打印出来:
个人代码实现
基本思路:考虑到车辆之间的共性,设置一个父类car, 子类mannedcar(载人), truck(载货),bothcary(既载人又载货),三者继承父类car的price, name属性, getname()方法, 同时重写getpersonnum, getgoodsnum方法。
car.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package car;
public abstract class car {
protected int price;
protected string name;
protected int getprice() {
return price;
}
protected string getname() {
return name;
}
public int getpersonnum() {
// todo auto-generated method stub
return 0 ;
}
public int getgoodsnum() {
// todo auto-generated method stub
return 0 ;
}
}
|
mannedcar.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package car;
public class mannedcar extends car {
private int personnum;
public mannedcar() {
this .personnum = 0 ;
this .price = 0 ;
this .name = "" ;
}
public mannedcar( int personnum, int price, string name) {
this .personnum = personnum;
this .price = price;
this .name = name;
}
@override
public int getpersonnum() {
return personnum;
}
}
|
truck.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package car;
public class truck extends car{
private int goodsnum;
public truck() {
this .price = 0 ;
this .goodsnum = 0 ;
this .name = "" ;
}
public truck( int price, int goodsnum, string name) {
this .price = price;
this .goodsnum = goodsnum;
this .name = name;
}
@override
public int getgoodsnum() {
return goodsnum;
}
}
|
bothcarry.java:
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
|
package car;
public class bothcarry extends car {
private int personnum;
private int goodsnum;
public bothcarry() {
this .personnum = 0 ;
this .goodsnum = 0 ;
this .name = "" ;
this .price = 0 ;
}
public bothcarry( int price, int personnum,
int goodsnum, string name) {
this .personnum = personnum;
this .goodsnum = goodsnum;
this .price = price;
this .name = name;
}
public int getpersonnum() {
return personnum;
}
public int getgoodsnum() {
return goodsnum;
}
}
|
系统:
carsystem.java:
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
package car;
import java.util.scanner;
import java.util.arraylist;
public class carsystem {
private static string goodbyeinfo = "欢迎再次使用本系统,再见!" ;
private static int dayborrow;
public static void beginsystem() {
carsystem.systemwelcome();
scanner scanner = new scanner(system.in);
string usercommand = scanner.next();
switch (usercommand){
case "1" :
carsystem.getuserinput();
break ;
case "0" :
system.out.println(goodbyeinfo);
break ;
default :
system.out.println( "输入错误..end running.." );
system.exit( 0 );
break ;
}
}
public static void systemwelcome() {
system.out.println( "欢迎使用答答租车系统:" );
system.out.println( "您是否要租车: 1-是 0-否" );
}
public static void getuserinput() {
int numcarborrow = 0 ;
arraylist<car> carlist = new arraylist<car>( 6 );
carlist.add( new mannedcar( 4 , 500 , "奥迪a4" ));
carlist.add( new mannedcar( 4 , 400 , "马自达6" ));
carlist.add( new bothcarry( 450 , 4 , 2 , "皮卡雪6" ));
carlist.add( new mannedcar( 20 , 800 , "金龙" ));
carlist.add( new truck( 400 , 4 , "松花江" ));
carlist.add( new truck( 1000 , 20 , "依维河" ));
system.out.println( "请输入您要租汽车的数量:" );
scanner sr = new scanner(system.in);
numcarborrow = sr.nextint();
int [] carnumlist = new int [numcarborrow];
for ( int i= 0 ;i<numcarborrow;i++) {
system.out.println( "请输入第" + (i+ 1 ) + "辆车的序号:" );
if (sr.hasnext()) {
carnumlist[i] = sr.nextint();
}
}
system.out.println( "请输入租车天数:" );
if (sr.hasnext()) {
dayborrow = sr.nextint();
}
sr.close();
stringbuilder manned = new stringbuilder();
int numofmanned = 0 ;
stringbuilder goods = new stringbuilder();
int numofgoods = 0 ;
int totalcost = 0 ;
for ( int i = 0 ;i < carnumlist.length;i++) {
if (carnumlist[i]> 0 && carnumlist[i] < 3 || carnumlist[i]== 4 ) {
manned.append( " " );
manned.append(carlist.get(carnumlist[i]- 1 ).getname());
numofmanned += carlist.get(carnumlist[i]- 1 ).getpersonnum();
}
else if (carnumlist[i]== 3 ) {
manned.append( " " );
manned.append(carlist.get(carnumlist[i]- 1 ).getname());
goods.append( " " );
goods.append(carlist.get(carnumlist[i]- 1 ).getname());
numofmanned += carlist.get(carnumlist[i]- 1 ).getpersonnum();
numofgoods += carlist.get(carnumlist[i]- 1 ).getgoodsnum();
}
else {
goods.append( " " );
goods.append(carlist.get(carnumlist[i]- 1 ).getname());
numofgoods += carlist.get(carnumlist[i]- 1 ).getgoodsnum();
}
totalcost += carlist.get(carnumlist[i]- 1 ).getprice();
}
//output
system.out.println( "您的账单:\n***可载人的车有:" );
system.out.println(manned + " 共载人: " + numofmanned);
system.out.println( "***载货的车有:\n" + goods + " 共载货 : " + numofgoods + "吨" );
system.out.println( "***租车总价格: " + totalcost * dayborrow + "元" );
}
}
|
主程序:
1
2
3
4
5
6
7
8
9
10
|
package car;
public class carsystemtest {
public static void main(string[] args) {
// todo auto-generated method stub
carsystem.beginsystem();
}
}
|
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/Joseph_Cherry/article/details/60530978