一.项目介绍
1、项目名称
影院购票平台
2、交互方式
通过控制台输出提示菜单,通过输入不同选项进入不同功能,例如:输入:1,进入影片查询菜单。
输出样式可以自行设计,但要包含要求的所有功能。
注意:1、进入某个菜单后根据实际情况添加返回上一级菜单。
2、删除操作要进行二次确认。
3、分页展示处理操作菜单选项外,还要有翻页操作按钮。
4、影片数据不需要在平台中维护。
3、功能列表
1、注册
输入用户名、密码、确认密码,注册新用户
2、登录
通过用户名和密码登录
3、影片查询
分页查询影片数据,每页10条数据。
展示项包括:影片标识、影片名称、影片描述、影片主演、影片时长。
1、选择影片
保存用户选择的影片标识。
注意:影片标识不需要保存到数据库中,存储在内存中即可。
2、查询影院
根据影片标识分页查询有此影片排片的影院。
展示项包括:影院标识、影院名称、影院地址
3、选择影院
保存用户选择的影院标识。
注意:影院标识也不需要保存到数据库中,同样存储在内存中。
4、查询场次
根据影片标识和影院标识分页查询场次数据。
展示项:播放日期、电源播放起止时间、票价
5、选择场次
保存用户选择的场次。
6、选座
展示座位,提供用户选座购票功能。座位展现形式可自行设计,如:只展示可选座位;展示所有座位标识出是否可选等。
保存用户选择的座位。
7、购票支付
输入密码确认购票,购票后,电影票应该保存到票夹中。
4、我的票夹
分页查询登录用户购买的电影票数据,每页10条数据。
展示项包括:电影票标识、影院名称、影片名称、播放日期、开播时间。
1、电影票详情
根据电影票标识查询电影票详情。
展示项包括:影片标识、影片名称、影片描述、影片主演、影片时长、影院标识、影院名称、影院地址、播放日期、播放起止时间、票价
2、退票
根据用户选择的电影票标识进行退票操作,需要输入密码退票。
注意:已经开播的电影不能退票。
5、退出
退出平台,结束程序。
二.代码实现
1.entry包
1.User类
package ticketpurchase.entry;
public class User {
private Integer uId;
private String userName;
private String passWord;
public User() {
}
public User(Integer uId, String userName, String passWord) {
this.uId = uId;
this.userName = userName;
this.passWord = passWord;
}
public Integer getuId() {
return uId;
}
public void setuId(Integer uId) {
this.uId = uId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
@Override
public String toString() {
return "User{" +
"uId='" + uId + '\'' +
", userName='" + userName + '\'' +
", passWord='" + passWord + '\'' +
'}';
}
}
2.Movie类
package ticketpurchase.entry;
public class Movie {
private Integer mId;
private String mName;
private String mDescription;
private String mStar;
private String mDuration;
public Movie() {
}
public Movie(Integer mId, String mName, String mDescription, String mStar, String mDuration) {
this.mId = mId;
this.mName = mName;
this.mDescription = mDescription;
this.mStar = mStar;
this.mDuration = mDuration;
}
public Integer getmId() {
return mId;
}
public void setmId(Integer mId) {
this.mId = mId;
}
public String getmName() {
return mName;
}
public void setmName(String mName) {
this.mName = mName;
}
public String getmDescription() {
return mDescription;
}
public void setmDescription(String mDescription) {
this.mDescription = mDescription;
}
public String getmStar() {
return mStar;
}
public void setmStar(String mStar) {
this.mStar = mStar;
}
public String getmDuration() {
return mDuration;
}
public void setmDuration(String mDuration) {
this.mDuration = mDuration;
}
@Override
public String toString() {
return
"mId=" + mId +
", mName='" + mName + '\'' +
", mDescription='" + mDescription + '\'' +
", mStar='" + mStar + '\'' +
", mDuration='" + mDuration
;
}
}
3.Cinema类
package ticketpurchase.entry;
public class Cinema {
private Integer cId;
private String cName;
private String cAddress;
private Integer mId;
public Cinema() {
}
public Integer getcId() {
return cId;
}
public void setcId(Integer cId) {
this.cId = cId;
}
public String getcName() {
return cName;
}
public void setcName(String cName) {
this.cName = cName;
}
public String getcAddress() {
return cAddress;
}
public void setcAddress(String cAddress) {
this.cAddress = cAddress;
}
public Integer getmId() {
return mId;
}
public void setmId(Integer mId) {
this.mId = mId;
}
public Cinema(Integer cId, String cName, String cAddress, Integer mId) {
this.cId = cId;
this.cName = cName;
this.cAddress = cAddress;
this.mId = mId;
}
@Override
public String toString() {
return
"cId=" + cId +
", cName='" + cName + '\'' +
", cAddress='" + cAddress
;
}
}
4.Place类
package ticketpurchase.entry;
public class Place {
private Integer pId;
private String pDate;
private String startTime;
private String endTime;
private Double price;
private Integer cId;
public Place() {
}
public Place(Integer pId, String pDate, String startTime, String endTime, Double price, Integer cId) {
this.pId = pId;
this.pDate = pDate;
this.startTime = startTime;
this.endTime = endTime;
this.price = price;
this.cId = cId;
}
public Integer getpId() {
return pId;
}
public void setpId(Integer pId) {
this.pId = pId;
}
public String getpDate() {
return pDate;
}
public void setpDate(String pDate) {
this.pDate = pDate;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Integer getcId() {
return cId;
}
public void setcId(Integer cId) {
this.cId = cId;
}
@Override
public String toString() {
return
"pId=" + pId +
", pDate='" + pDate + '\'' +
", startTime='" + startTime + '\'' +
", endTime='" + endTime + '\'' +
", price=" + price
;
}
}
5.Seat类
package ticketpurchase.entry;
public class Seat {
private Integer sId;
private Integer state;