może to Ci pomoże ,utworzyłem list imion, nazwisk, tablice z osobami gdzie randem dodałem imie i nazwisko.
public class Person {
private String name, surname;
public Person(String name,String surname){
this.name=name;
this.surname=surname;
}
public String getName() {
return name;
}
public String getSurname() {
return surname;
}
}
public class Hotel {
private String[] personName={"Jan","Wojtek","Ania","Zosia","Franek"};
private String[] personSurname={"Kowalski","Kowalczyk","Michalik","Smender","Ptak"};
private Person[] tab=new Person[100];
private Person[] rooms=new Person[50];
private void setPerson() {
for(int i=0;i<tab.length;i++){
String name=personName[(int)(Math.random()*4)];
String surname=personSurname[(int)(Math.random()*5)];
tab[i]=new Person(name,surname);
}
}
private void assignRoom(){
setPerson();
for(int i=0;i<rooms.length;i++){
rooms[i]=tab[(int)(Math.random()*99)];
}
}
public Person[] getRooms() {
assignRoom();
return rooms;
}
}
Najlepiej byłoby użyć stosu jako lista dostępnych pokoi, i kolejki jak osoby oczekujące na pokój. Przydziela Ci te 50 pokoi tylko jednej osobie ponieważ wywołując metodę przydziel("Jan","Kowalski"), Twoje parametry są stałe imie="Jan", nazwisko="Kowalski" przez cały czas jak działa pętla. Możesz jako parametry przekazać tablice i z niej losować. Popatrz na rozwiązanie które wysłałem.