Java实现电影院订票系统代码

 更新时间:2017年11月20日 10:44:29   作者:笑哼  
这篇文章主要介绍了Java实现电影院订票系统代码,代码实现了界面类登录注册类,用户类等,具有一定参考价值,需要的朋友可以参考下。

程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势。。。但是由于时间原因,小编并未在代码中添加可视化图形界面,有兴趣的朋友可自行添加。

可参阅:Java图形化界面设计之容器(JFrame)详解

演示结果:

下面是具体实现代码:

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()// 内部电影信息
	{
		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 订 票 系 统");
		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("是否需要继续订票(Y/N)");
			String yesNo = input.next();
			if (yesNo.equals("N"))
			  con = false;
			if (index >= 3) {
				System.out.println("已经没有可预订的票");
				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;
 }

结束。

以上就是本文关于Java实现电影院订票系统代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

详解Java编程JDialog窗体的用法及实例

Java常用面板之JScrollPane滚动面板实例详解

Java卡片布局管理器解释及实例

如有不足之处,欢迎留言指出。

相关文章

  • 微服务之Feign的介绍与使用小结

    微服务之Feign的介绍与使用小结

    Feign 是一个声明式的伪RPC的REST客户端,它用了基于接口的注解方式,很方便的客户端配置,Spring Cloud 给 Feign 添加了支持Spring MVC注解,并整合Ribbon及Eureka进行支持负载均衡,这篇文章主要介绍了微服务之Feign的介绍与使用,需要的朋友可以参考下
    2022-07-07
  • El表达式使用问题javax.el.ELException:Failed to parse the expression的解决方式

    El表达式使用问题javax.el.ELException:Failed to parse the expression

    今天小编就为大家分享一篇关于Jsp El表达式使用问题javax.el.ELException:Failed to parse the expression的解决方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • SpringBoot Web请求响应详细代码示例

    SpringBoot Web请求响应详细代码示例

    在Web开发中请求和响应是必不可少的环节,Spring Boot Web应用中请求响应的分层解耦是构建高效、可维护系统的关键实践,下面这篇文章主要介绍了SpringBoot Web请求响应的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • 将Java程序与数据库进行连接的操作方法

    将Java程序与数据库进行连接的操作方法

    这篇文章主要介绍了将Java程序与数据库进行连接的操作方法,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • idea不能自动补全yml配置文件的原因分析

    idea不能自动补全yml配置文件的原因分析

    这篇文章主要介绍了idea不能自动补全yml配置文件的原因,通过添加yml文件为配置文件能够很快的解决,具体解决步骤跟随小编一起通过本文学习下吧
    2021-06-06
  • java关于String.split("|")的使用方式

    java关于String.split("|")的使用方式

    这篇文章主要介绍了java关于String.split("|")的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • SpringBoot ThreadLocal 简单介绍及使用详解

    SpringBoot ThreadLocal 简单介绍及使用详解

    ThreadLocal 叫做线程变量,意思是 ThreadLocal 中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量,这篇文章主要介绍了SpringBoot ThreadLocal 的详解,需要的朋友可以参考下
    2024-01-01
  • java如何读取Excel简单模板

    java如何读取Excel简单模板

    这篇文章主要为大家详细介绍了java如何读取Excel简单模板,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • springboot扫码登录的简单实现

    springboot扫码登录的简单实现

    本文主要介绍基于SpringBoot + Vue + Android实现的扫码登录,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 关于访问后端接口报404错误问题的解决方法(全网最细!)

    关于访问后端接口报404错误问题的解决方法(全网最细!)

    404页面的出现会降低用户体验,那么导致404页面出现的原因是什么呢?这篇文章主要给大家介绍了关于访问后端接口报404错误问题的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04

最新评论