Garmaine Staff asked 1 year ago

i hope someone can help me, i'm struggling with this since yesterday…

I'm working right now on a Hotel Management System project. What i'm trying to do is, to put an array[] Clients into an ArrayList of Rooms and then set this room attribute to 'occupied = true' and save that so if i try to use that room for other client it doesn't let me.

Room class

public class Room {
    private int number;
    private float price= 30.5f;
    private boolean occupied = false;
    private Client[] hosts;

    public Room(int number, Client[] hosts) {
        this.number= number;
        this.hosts= hosts;
    }

    public void setOccupied() {
        this.occupied = true;
    }
}

Client class

public class Client {
    private String id;
    private String name;
    private String lastName;

    public Client(String id, String name, String lastName) {
        this.id = id;
        this.name= name;
        this.lastName= lastName;
    }
}

This is what i've got on my Main so far… i'm calling the next function

public void checkIn(ArrayList<Room> myRooms){
        int roomNumber;
        String id;
        String name;
        String lastName;

        Scanner input = new Scanner(System.in);
        int people = input.nextInt();
        Client[] array = new Client[people];


        for (int i = 0; i < people; i++) {
            System.out.println("Enter ID" + (i+1));
            id = input.next();

            System.out.println("Enter name " + (i+1));
            name= input.next();

            System.out.println("Enter last name " + (i+1));
            lastName= input.next();

            array[i] = new Client(id,name,lastName);

        }

        System.out.print("Assign to room number... : ");
        roomNumber = input.nextInt();

        myRooms.add(new Room(roomNumber, array));

        //here i tried doing:
        //room.set().setOccupied();
        //room.set(roomNumber).setOccupied();

        //but .set() expects an index...

    }

Once i have this, i want to create a function that shows a list of rooms that are occupied

Excuse my english since i'm Spanish