java中数组用法

在做java酒店开房系统的时候,由于是通过数组来操作的,所以在数组处理的时候,遇到了一些问题,如从键盘输入房间号的时候,要考虑和数组中存在的房间号是否匹配的时候出现问题,因为要判断是否相等时,我们需要用循环去遍历数组元素,如果遍历找到输入的值和数组中的值相等时,则按顺序执行,如果不是的话,应该用else来报错,输出不是数组中的元素,但是由于此else是在for循环中的,那么如果找不到此元素值时,虽然会报错,但还是会继续循环直到遍历完成数组,所以会一直显示else语句块中的数值,如果在else里给他break的话,那么只会比较数组中的第一个元素值,看是否与键盘输入的值相等,如果不等的话,便会直接跳到else语句块而不进行后续数值的比较。为了解决这个问题,我们需要一开始的时候给它一个标识符,用来存放数组的下标,然后对这个标志符进行循环比较,就可以了,具体的操作代码如下所示:

int index=-1;
        for(int i=0;i<roomInfo.length;i++)
        {
            if(roomInfo[i][0].equals(roomId))
                index=i;
        }
        if(index!=-1)
        {
            if((roomInfo[index][3].equals("empty")))
            {
                System.out.println("请输入客户姓名:");
                String addName=input.next();
                roomInfo[index][3]=addName;
                String inDate=sdf.format(new Date());
                roomInfo[index][4]=inDate;
                System.out.println("该客户成功入住!");
                System.out.println("显示现在的客房信息!");
                showRoom();
            }
                else if(!(roomInfo[index][3].equals("empty")))
                {
                    System.out.println("该房间已有人入住,请重新输入!");
                    openRoom();
                }            
        }
        else
        {
            System.out.println("此房间不存在,请重新输入!");
            openRoom();
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值