Java实现火车购票系统功能
我们今天用Java做一个实现火车票取票的简洁功能,我也是刚刚入门,大佬莫笑。
首先,写入火车类,代码如下
public class Train {
String trainname; //车次
String startname; //起始站
String endname; //终点
int seatsumred; //余票
int seatsumfix; //已订购
public Train() {//无参数构造法
}
public Train(String trainname, String startname, String endname, int seatsumred, int seatsumfix) {
this.trainname = trainname;
this.startname = startname;
this.endname = endname;
this.seatsumred = seatsumred;
this.seatsumfix = seatsumfix;
}
public String getTrainname() {
return trainname;
}
public int getSeatsumred() {
return seatsumred;
}
public void showMess() {
System.out.println("车次:"+trainname+"|起始站:"+startname+"|终点站:"+endname+"|余票:"+seatsumred+"|已订购:"+seatsumfix);
}
public void modity(int number) {//计算剩余票
seatsumred = seatsumred - number;
seatsumfix = seatsumfix +number;
}
}
第二呢,有了火车我们还需要用户类,话不多说,代码在下:
public class User {
String userName;
String password;
int userType; //用户类型 0:普通用户 1:管理员
public User() {
}
public User(String userName,String password,int userType) {
this.userName =userName;
this.password =password;
this.userType = userType;
}
public String getUserName() {
return userName;
}
public String getPassword() {
return password;
}
public int getUserType() {
return userType;
}
}
第三,写入购票人的的购票信息
public class UserTrain {
String userName;
String trainName;
public UserTrain() {
}
public UserTrain( String userName,String trainName) {
this.userName = userName;
this.trainName = trainName;
}
public String getUserName() {
return userName;
}
public String getTrainName() {
return trainName;
}
public void showMess() {
System.out.println("订票人:"+userName+ " |车次:"+ trainName);
}
}
最后还需要Main方法来运行程序:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
User user1 = new User("老李", "ll", 1);
User user2 = new User("老张", "lz", 0);
User user3 = new User("老毛", "lm", 0);
User user4 = new User("张三", "zs", 0);
User user5 = new User("麻子", "mz", 0);
User[] users = {user1,user2,user3,user4,user5};
Train train1 = new Train("K1987","成都","上海",300,0);
Train train2 = new Train("Z1987","成都","洛阳",300,0);
Train train3 = new Train("K4387","广州","长安",300,0);
Train train4 = new Train("Z7281","武汉","昆明",300,0);
Train[] trains = {train1,train2,train3,train4};
UserTrain[] userTrains = new UserTrain[500];
int i = 0;
Scanner scanner = new Scanner(System.in);
do {
System.out.println("欢迎使用长安火车订票系统");
System.out.println("输入用户名");
String inputName = scanner.next();
System.out.println("输入密码");
String inputpwd = scanner.next();
boolean isSuccess = false;
User usera = null;
for (User user : users) {
if(user.getUserName().equals(inputName) && user.getPassword().equals(inputpwd)) {
isSuccess = true;
usera = user;
}
}
if(isSuccess == true) {
System.out.println("success!");
//判断这个用户是管理员还是普通用户
if(usera.getUserType() == 1) {
System.out.println("管理员");
String choose3;
do {
System.out.println("选择功能 1、订单查询 2、退出");
choose3 = scanner.next();
switch (choose3) {
case "1":
for (UserTrain userTrain : userTrains) {
if(userTrain != null) {
userTrain.showMess();
}
}
break;
case "2":
System.out.println("退出成功");
break;
default:
System.out.println("无此功能");
break;
}
}while (!choose3.equals("2"));
}else {
String choose1;
do {
System.out.println("普通用户");
System.out.println("请选择功能 1、车次查询 2、车票订购 3、退票 4、订单查询 5退出");
choose1 = scanner.next();
switch (choose1) {
case "1":
for (Train train : trains) {
train.showMess();
}
break;
case "2":
System.out.println("请选择要订购的车票: 1、K1987 2、Z1987 3、K4387 4、Z7281");
int choose2 = scanner.nextInt();
if(choose2>=1 && choose2<=4) {
if(trains[choose2-1].getSeatsumred() >= 1) {
trains[choose2-1].modity(1);
userTrains[i] = new UserTrain(usera.getUserName(),trains[choose2-1].getTrainname());
i++;
}else {
System.out.println("余票不足");
}
}else {
System.out.println("没有此车次");
}
break;
case "3":
break;
case "4":
for (UserTrain userTrain : userTrains) {
if(userTrain != null && userTrain.getUserName().equals(usera.getUserName())) {
userTrain.showMess();
}
}
break;
case "5":
System.out.println("退出成功!");
break;
default:
break;
}
}while(!choose1.equals("5"));
}
}else {
System.out.println("fail");
}
}while(true);
}}
这部分简洁的功能就做好了,希望对大家有用哈。路过的大佬也不要笑话。