Java實現(xiàn)電影院訂票系統(tǒng)代碼
程序是為了方便用戶使用的,因此實現(xiàn)圖形化界面的程序編寫是所有編程語言發(fā)展的必然趨勢。。。但是由于時間原因,小編并未在代碼中添加可視化圖形界面,有興趣的朋友可自行添加。
可參閱:Java圖形化界面設(shè)計之容器(JFrame)詳解
演示結(jié)果:
下面是具體實現(xiàn)代碼:
public class Test { public static void main(String[] args) { BookTicket bookTicket = new BookTicket(); bookTicket.init(); } }
BookTicket主界面類
import java.util.Scanner; public class BookTicket { //主界面類 Movie[] movie = new Movie[3]; LoginReg loginReg = new LoginReg(); Scanner input = new Scanner(System.in); void movieInformation()// 內(nèi)部電影信息 { movie[0] = new Movie(); movie[0].number = "S1124"; movie[0].movieName = "雷神3:諸神黃昏"; movie[0].movieTime = "2017-11-03大陸上映"; movie[0].moviePrice = 70; movie[1] = new Movie(); movie[1].number = "S1125"; movie[1].movieName = "全球風暴"; movie[1].movieTime = "2017-10-27大陸上映"; movie[1].moviePrice = 80; movie[2] = new Movie(); movie[2].number = "S1126"; movie[2].movieName = "東方快車謀殺案"; movie[2].movieTime = "2017-11-10大陸上映"; movie[2].moviePrice = 90; } void interFace()// 訂票界面 { System.out.println("\t\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"); System.out.println("\t\t\t 訂 票 系 統(tǒng)"); System.out.println("\t\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"); System.out .println("------------------------------------------------------------------------------"); System.out.println("電影編號\t\t電影名\t\t上映時間\t\t電影票價"); System.out.println(movie[0].number + "\t\t" + movie[0].movieName + "\t\t"+ movie[0].movieTime + "\t" + "$" + movie[0].moviePrice); System.out.println(movie[1].number + "\t\t" + movie[1].movieName + "\t\t"+ movie[1].movieTime + "\t" + "$" + movie[1].moviePrice); System.out.println(movie[2].number + "\t\t" + movie[2].movieName + "\t\t"+ movie[2].movieTime + "\t" + "$" + movie[2].moviePrice); System.out .println("------------------------------------------------------------------------------"); } void login()// 登陸、注冊 { System.out.println("1.登陸\t\t2.注冊"); Scanner input = new Scanner(System.in); int logReg = input.nextint(); switch (logReg) { case 1: if (loginReg.login() == 0) login(); break; case 2: loginReg.reg(); login(); break; default: System.out.println("輸入錯誤"); login(); } } void booking()// 訂票 { Boolean con = true; int index = 0; int[] flag = { -1, -1, -1 }; do { System.out.println("\t\t歡迎訂票"); System.out.println("請輸入電影編號(注意字母大寫)"); String odd = input.next(); for (int i = 0; i < movie.length; i++) { if (movie[i].number.equals(odd)) { flag[index] = i; break; } } if (flag[index] == -1) { System.out.println("\t\t編號輸入錯誤(找不到您要的電影)"); } else { System.out.println("\t\t訂票成功"); System.out.println("電影編號\t電影名\t\t上映時間\t\t電影票價"); System.out.println(movie[flag[index]].number + "\t\t" + movie[flag[index]].movieName + "\t" + movie[flag[index]].movieTime + "\t\t" + "$" + movie[flag[index]].moviePrice); index++; } System.out.println("是否需要繼續(xù)訂票(Y/N)"); String yesNo = input.next(); if (yesNo.equals("N")) con = false; if (index >= 3) { System.out.println("已經(jīng)沒有可預(yù)訂的票"); con = false; } } while (con); int add = 0; int sign = 0; for (index = 0; index < 3; index++) { if (flag[index] != -1) { add += movie[flag[index]].moviePrice; sign++; } } System.out.println("你一共訂了" + sign + "張票" + "一共¥" + add + "元"); } void init() { movieInformation(); // 電影信息錄入 interFace(); // 界面 login(); // 用戶登陸、注冊 booking(); // 訂票 } }
登陸,注冊類
import java.util.Scanner; public class LoginReg { //登陸,注冊類 final int INIT = 1024; User[] user = new User[INIT]; Scanner input = new Scanner(System.in); void reg()//用戶注冊 { int flag = 0; System.out.println("\t歡 迎 注 冊"); System.out.println("用戶名"); for (int i = 0;i < INIT;i++) { if(user[i]==null) { user[i] = new User(); user[i].name = input.next(); flag = i; break; } } System.out.println("密碼"); user[flag].password = input.next(); System.out.println("\t恭 喜 您!注 冊 成 功"); } int login()//用戶登陸 { int flag = 0; System.out.println("\t歡 迎 登 陸"); System.out.println("用戶名"); String n1 = input.next(); System.out.println("密碼"); String n2 = input.next(); for (int i = 0;i < INIT;i++) { if(user[i]!=null) { if(user[i].name.equals(n1) && user[i].password.equals(n2)) { flag = 1; break; } } } switch(flag) { case 0: System.out.println("登陸失敗"); System.out.println("是否重新登錄(Y/N)"); String instr = input.next(); if(instr.equals("Y")) login(); break; case 1: System.out.println("登陸成功"); break; } return flag; } }
用戶類
public class User { //用戶類 String name;// 用戶名 String password;//密碼 }
電影類
public class Movie { //電影類 String number; String movieName; String movieTime; int moviePrice; }
結(jié)束。
以上就是本文關(guān)于Java實現(xiàn)電影院訂票系統(tǒng)代碼的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
如有不足之處,歡迎留言指出。
相關(guān)文章
詳解JDK自帶javap命令反編譯class文件和Jad反編譯class文件(推薦使用jad)
這篇文章主要介紹了JDK自帶javap命令反編譯class文件和Jad反編譯class文件(推薦使用jad),本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09Spring?Boot?Admin?添加報警提醒和登錄驗證功能的具體實現(xiàn)
報警提醒功能是基于郵箱實現(xiàn)的,當然也可以使用其他的提醒功能,如釘釘或飛書機器人提醒也是可以的,但郵箱報警功能的實現(xiàn)成本最低,所以本文我們就來看郵箱的報警提醒功能的具體實現(xiàn)2022-01-01

使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法

深入淺析SPI機制在JDK與Spring?Boot中的應(yīng)用