Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Map;
- import java.util.HashMap;
- //import java.util.List;
- //import java.util.ArrayList;
- public class Hotel {
- //this should not interact with room.
- private String name;
- private int singleBeds;
- private int doubleBeds;
- //private List<Room> l = new ArrayList<Room>;
- private Map<Integer,Room> rooms = new HashMap<Integer,Room>();
- // use math.abs() for any integers
- //method to add beds to map, with bed number
- //adds a room with a unique number key to map.
- //method to add single beds.
- public void addRoom(int numberOfRooms){
- for(int j = 0 /*should this be 1?*/; j<numberOfRooms; j++){
- rooms.put(j, new Room());
- //j is the key, e.g. number of rooms = 4, 4 rooms added, indexed 0-3
- }
- }
- public int roomList(){
- return rooms.size();
- }
- //method in room to add number of rooms with certain
- //number of singles, and doubles
- //move this method into rooms
- //careful with roomNumber. it will be -1.
- public void numOfBeds(int roomNumber, int singles, int doubles){
- singleBeds = Math.abs(singles);
- doubleBeds = Math.abs(doubles);
- //put this into room, maybe?
- //will have to iterate through rooms?
- for(int i = 0; i < singleBeds; i++){
- rooms.get(roomNumber).setBed("single");
- }
- for(int i = 0; i < doubleBeds; i++){
- rooms.get(roomNumber).setBed("double");
- }
- }
- // setting hotel name
- public void setName(String s) {
- name = s;
- }
- // getting hotel name
- public String getName() {
- return name;
- }
- //constructor
- //this is the correct constructor
- public Hotel(String name, int numberOfRooms){
- setName(name);
- addRoom(numberOfRooms);
- }
- //bad constuctor
- public Hotel(String name, int numberOfRooms, int roomNumber, int singles, int doubles){
- setName(name);
- addRoom(numberOfRooms);
- numOfBeds(roomNumber, singles, doubles);
- }
- import java.util.ArrayList;
- import java.util.List;
- public class Room {
- private List<Bed> beds;/* = new ArrayList<Bed>();*/
- private String size;
- //private int singleBeds;
- //private int doubleBeds;
- // need to make a list inside of room list for each room
- public Room() {
- //demonstrator said to do this, for memory reasons or something, dont get why.
- this.beds = new ArrayList<Bed>();
- }
- //this constructor should have number of single and double beds.
- public Room(String string) {
- setBed(string);
- }
- //number of beds
- // lets make methods to get/set singular beds.
- public void setBed(String s) {
- size = s;
- beds.add(new Bed(s));
- }
- public Bed getBed(int i) {
- // arrayLists index at 0. careful here.
- return beds.get(i);
- }
- // perhaps a method to get overall size of list
- public int totalBeds() {
- return beds.size();
- }
- }
- }
- public class Bed {
- private String size;
- public Bed(String s) {
- setSize(s);
- }
- // check inputs
- public void setSize(String s) {
- size = s.toLowerCase();
- if (size != "double" || size != "single") {
- throw new IllegalArgumentException("Invalid bed type");
- // maybe catch later on to prevent crashing
- }
- }
- public String getSize() {
- return size;
- }
- // else, set s to either double or single.
- // maybe make enumerated? not sure yet.
- // throw exception if not equal to double or single?
- // method for max occupancy. loop, adding each beds value together
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement