栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

递归问题,在return结束后,又重新执行一遍

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

递归问题,在return结束后,又重新执行一遍

package Test02;

import java.util.Scanner;

public class Work {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        String state = "空闲";
        Room room01 = new Room(1,"标准间",state);
        Room room02 = new Room(2,"标准间",state);
        Room room03 = new Room(3,"豪华间","占有");
        Room room04 = new Room(4,"豪华间",state);
        Room[][] rooms = {
                {room01,room02},
                {room03,room04}

        };
        Room[][] rooms1 = new Room[2][2];
        for (int i = 0; i < rooms.length; i++) {
            for (int j = 0; j < rooms[i].length; j++) {
                System.out.print("房间号: " + rooms[i][j].age + " 房间属性:" + rooms[i][j].attribute + " 房间状态:" + rooms[i][j].state + " ");
            }
            System.out.println();
        }
        System.out.println("您选择退房还是订房");
        String s1 = s.next();
        if (s1.equals("订房")){
            System.out.println("请输入您需要的房间号");
            System.out.println("一楼为标准间,二楼为豪华间");
            System.out.println("每一层只有2间房间");
            System.out.println("请输入几层楼");
            int floor = s.nextInt();
            if (floor == 1 || floor == 2) {
                System.out.println("请输入第几间房间");
                int room = s.nextInt();
                if (room == 1 || room == 2) {
//                    selectRoom(floor,room,rooms);
                    if ((rooms[floor-1][room-1].state).equals("空闲")) {
                        System.arraycopy(selectRoom(floor, room, rooms), 0, rooms1, 0, selectRoom(floor, room, rooms).length);
                        System.out.println("是否查看当前酒店住房信息");
                        String s2 = s.next();
                        if (s2.equals("是")) {
                            for (int i = 0; i < rooms.length; i++) {
                                for (int j = 0; j < rooms[i].length; j++) {
                                    System.out.print("房间号: " + rooms[i][j].age + " 房间属性:" + rooms[i][j].attribute + " 房间状态:" + rooms[i][j].state + " ");
                                }
                                System.out.println();
                            }
                        } else
                            System.out.println("欢迎您的入住");
                    }else{
                        System.out.println("对不起您所选的房间已被占");

                    }
                }
                else{
                    System.out.println("对不起不存在这个房间");
                }
            }
            else
                System.out.println("对不起不存在这样的楼层");

        }
        else if (s1.equals("退房")){
            System.out.println("请输入您要退的房间");
            int floor = s.nextInt();
            if (floor == 1 || floor == 2) {
                System.out.println("请输入要退的房间号");
                int room = s.nextInt();
                if (room == 1 || room == 2){
                    if (rooms[floor-1][room-1].state.equals("空闲")) {
//                    leaveRoom(floor,room,rooms);
                        System.arraycopy(leaveRoom(floor, room, rooms), 0, rooms1, 0, leaveRoom(floor, room, rooms).length);
                        System.out.println("是否查看当前酒店住房信息");
                        String s2 = s.next();
                        if (s2.equals("是")) {
                            for (int i = 0; i < rooms1.length; i++) {
                                for (int j = 0; j < rooms1[i].length; j++) {
                                    System.out.print("房间号: " + rooms[i][j].age + " 房间属性:" + rooms[i][j].attribute + " 房间状态:" + rooms[i][j].state + " ");
                                }
                                System.out.println();
                            }
                        }
                        else
                            System.out.println("欢迎您的光临");
                    }else
                        System.out.println("对不起您所选的房间是一间空房间");
                }
                else
                    System.out.println("对不起不存在这个房间");
            }
            else
                System.out.println("对不起不存在这样的楼层");
        }
    }
     public static Room[][] selectRoom(int floor, int room, Room[][] rooms){
        if((rooms[floor-1][room-1].state).equals("空闲")){
             rooms[floor-1][room-1].state = "占有";
             System.out.println("非常感谢您,选择本酒店,以为您准备好您所需要的房间");
        }
        return rooms;

     }
    public static Room[][] leaveRoom(int floor,int room,Room[][] rooms) {
        if ((rooms[floor - 1][room - 1].state).equals("占有")) {
            rooms[floor - 1][room - 1].state = "空闲";
            System.out.println("欢迎您的光临");
        }
        return rooms;
    }

}
class Room{
     int age;
     String attribute;
     String state;
    public Room(int age, String attribute, String state) {
        this.age = age;
        this.attribute = attribute;
        this.state = state;
    }

}
public static Room[][] selectRoom(int floor, int room, Room[][] rooms){
   if((rooms[floor-1][room-1].state).equals("空闲")){
        rooms[floor-1][room-1].state = "占有";
        System.out.println("非常感谢您,选择本酒店,以为您准备好您所需要的房间");
   }
   return rooms;

public static Room[][] leaveRoom(int floor,int room,Room[][] rooms) {
    if ((rooms[floor - 1][room - 1].state).equals("占有")) {
        rooms[floor - 1][room - 1].state = "空闲";
        System.out.println("欢迎您的光临");
    }
    return rooms;

该两个方法类在运行时,运行到return后出现了递归问题.请求帮忙解决.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755979.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号