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);
				}}
				这部分简洁的功能就做好了,希望对大家有用哈。路过的大佬也不要笑话。
posted @ 2022-07-07 19:59  admin8080  阅读(907)  评论(0编辑  收藏  举报