Zadanie - przypisanie wartości kolejnym zmiennym String

Zadanie - przypisanie wartości kolejnym zmiennym String
LI
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam . Stworzyłem dwie klasy Hotel i Osoba .

Mam przypisać losowo pokoje 10 gościom , lecz kiedy wywołuje program przypisuje on te 10 pokoi jednej osobie podanej na początku . Ktoś wie jak to naprawić ?

Klasa Osoba

Kopiuj
public class Osoba
{   
    static String imie,nazwisko;
     
    Osoba(String imie,String nazwisko)
    {
        this.imie=imie;
        this.nazwisko=nazwisko;
    }
    static String getImie()
    {
        return imie;
    }
    static String getNazwisko()
    {
        return nazwisko;
    }
     
}

Klasa Hotel

Kopiuj
public class Hotel
{
    Osoba [] tab = new Osoba[100];
    void przydziel(String imie,String nazwisko)
    {
        Scanner hand;
        hand=new Scanner(System.in);
        int np;
        for(int i=0;i<10;++i)
        {
        np=(int)(Math.random()*99);
        tab[np]=new Osoba(imie,nazwisko);
        imie=hand.nextLine();
        nazwisko=hand.nextLine();
        }
    }
}
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1

Podstawowa przyczyna takiego zachowania, to słowo static w tym wierszu:

Kopiuj
static String imie,nazwisko;

Usuń to słowo, sensownie popraw błędy kompilacji jeśli się jakieś pojawią.
Jeśli chcesz wykorzystać wszystkie pokoje, to zmień

Kopiuj
np=(int)(Math.random()*99);

nanp=(int)(Math.random()*100);

Kopiuj
Może się też zdarzyć, że zakwaterujesz kilka osób w tym samym pokoju.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.