用Java的二维数组来完成模拟一个电影院选座系统

模拟座位

这里先定义一个二维数组,用来模拟电影院的座位

public class ChooseSeat{public static void main(String[] args){int[][] seat = new int[10][10];

查看座位

然后新建一个查看的方法,便于我们对座位情况的查看

public void show(int[][] seat) {for(int i = 0; i < seat.length; i++) {for(int j = 0; j < seat[i].length; j++) {System.out.print(seat[i][j] + " ");}System.out.print("\n");}}

模拟选座

  • 定义一个方法用来买票选座
  • 如果这个二维数组的位置是初始值0,表示可以买票,然后将这个位置改为1
  • 如果这个位置本来就是1,那么就显示购买失败
  • return 返回 true 购买成功 返回 false 购买失败
public boolean seat(int[][] seat) {//若在整个类中被多个方法使用,可以定义在类中Scanner sc = new Scanner(System.in);boolean flag = false;//表示是否购买成功System.out.println("请问您要选择第几排:");int row = sc.nextInt();System.out.println("请问您要选择第几列:");int col = sc.nextInt();for(int i = 0; i < seat.length; i++) {for(int j = 0; j < seat[i].length; j++) {//判断这个位置上的数是否为0,如果为0,就表示没有人购买可以买//如果为1,就表示这个位置上已经有人了,不能买了//数组是从0开始的,位置的计数从1开始的if(seat[row - 1][col - 1] == 0) {flag = true;//表示购买成功seat[row - 1][col - 1] = 1;//将已经买票的位置改为1}}}return flag;}

最后在main方法中调用实现

public static void main(String[] args) {ChooseSeat cs = new ChooseSeat();Scanner s = new Scanner(System.in);//定义一个数组用来表示当前的座位int[][] seat = new int[10][10];System.out.println("-----------欢迎登录电影票购买系统-----------");System.out.println("这是我们本场电影的购票信息:");//显示座位信息cs.show(seat);System.out.println("请问您要购买几张电影票?");int num = s.nextInt();//电影票的张数for(int i = 1; i <= num; i++) {//i代表电影票的张数,从1开始可以等于if(cs.seat(seat)) {System.out.println("第" + i + "张购买成功");  cs.show(seat);if(i == num) {//表示所有的票已经购买完毕System.out.println("您的票已经购买完毕,祝您观影愉快");break;}}else {//购票失败,重新执行进行下一次购票System.out.println("购买失败,请重新选择: ");cs.show(seat);i--;}}}

以上就是一个对电影院选座功能的一个简单实现

Java----使用二维数组完成一个电影院选座系统相关推荐

  1. 用java的二维数组做一个简易计算优惠小程序(附带源码)

    要求: 1.单点: 溜肥肠24元 酱肘子32 米饭3元 2.订单满30打八折 3.优惠价: 溜肥肠18元 4.打八折与优惠价不能同时使用,点这三样,最少多少钱? 思路: 首先定义一个 String 类 ...

  2. JAVA实现二维数组中的查找(《剑指offer》)

    最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...

  3. 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在

    题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.示例: 现有 ...

  4. 利用二维数组实现一个矩阵类:Matrix

    利用二维数组实现一个矩阵类:Matrix.要求提供以下操作: (1)set(int row, int col, double value):将第row行第col列的元素赋值为value: (2)get ...

  5. java arraycopy二维数组_System.arraycopy()实现数组的复制与交换

    今天在读别人代码的时候,发现了一个数组之间复制很不错的方法,就分享记录下吧.同时小小的研究下了它的使用方法. System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制. ...

  6. java二维数组杨辉三角_实验----Java的二维数组的应用及杨辉三角的编写

    (1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...

  7. 15、Java基础——二维数组

    目录 课前先导 一.定义 二.声明二维数组 三.二维数组的初始化和赋值 四.遍历二维数组 五.用Arrays类中的方法输出数组 课前先导 二维数组及就是数组的嵌套,数组的元素还是数组:多维数组也是数组 ...

  8. java语言二维数组转置_java实现二维数组转置的方法示例

    本文实例讲述了java实现二维数组转置的方法.分享给大家供大家参考,具体如下: 这里在文件中创建Test2.Exchange.Out三个类 在Exchange类中编写exchange()方法,在方法中 ...

  9. php 二维数组字段合并,PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组_PHP教程...

    PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组 本文实例讲述了PHP将二维数组某一个字段相同的数组合并起来的方法.分享给大家供大家参考,具体如下: 例子: array(3) { [0 ...

最新文章

  1. 第三代DNA测序及其相关生物信息学技术发展概况
  2. 请人安装linux系统,我想安装linux操作系统,请指导一下
  3. MySQL INNER JOIN:内连接查询
  4. chrome 获取剪贴板内容_Chrome 开发者工具的11 个高级使用技巧
  5. html页面设置不可点击事件,css怎么设置div不可点击?
  6. webshell下执行CMD的小技巧
  7. P3172-[CQOI2015]选数【dp,容斥】
  8. http响应消息的响应状态码和意义
  9. 使用spring-data-mongodb操作mongodb
  10. 小记 | 从 0 到 1,看我如何玩弄千万日志于股掌
  11. QT获取本机IP,本地IP
  12. Application,Session,Cookie和ViewState等对象用法和区别
  13. c语言从入门到精通pdf 百度云,c语言从入门到精通PDF
  14. 两种方法教你将PDF转换CAD搞定!
  15. 网络摄像机内部结构图
  16. word安全模式解除方法
  17. 读书感受 之 《写给年轻人的 经济学故事书》
  18. 形式化方法课程学习笔记(一)|Cop的安装以及简单使用
  19. 2020牛客暑期多校训练营(第九场) Groundhog and 2-Power Representation
  20. Unity --- 角色动画的使用以及按键控制角色运动

热门文章

  1. 技术直播:数据科学到底该怎么“玩”?
  2. MicroPython ESP32 读取DHT11温湿度传感器数据
  3. Vue 自定义多选组件
  4. MATLAB听拨号音识别号码应用
  5. 智慧校园教师端用户操作手册
  6. 腾讯云携手合作伙伴打造5G生态,覆盖“云边网端”助推“万物智联”
  7. 【科研文献处理】将Web of Science下载的纯文本文件数据导入到Endnote软件中
  8. 单源最短路的扩展应用--------观光
  9. 随手笔记(七)———如何写好链表代码
  10. python批量修改word文档内容