我创建了一个类定义如下的酒店:
import java.util.Random;
public class Hotel {
private Osoba[] tab = new Osoba[100];
public void zamelduj(Osoba os, int num) {
if (tab[num - 1] == null) {
System.out.println("Pokoj o numerze " + num + "jest zajety");
return;
}
tab[num - 1] = os;
}
public void wymelduj(int num) {
tab[num - 1] = null;
}
public void zamienOsoby(int num1, int num2) {
Osoba o = tab[num1 - 1];
tab[num1 - 1] = tab[num2 - 1];
tab[num2 - 1] = o;
}
public void znajdzWolnePokoje() {
for (int i = 0; i < 100; i++) {
if (tab[i] == null) System.out.println(i + 1);
}
}
public void przydzielPokoje50() {
for (int i = 0; i < 50; i++) {
Random r = new Random();
Osoba o = new Osoba();
int num = r.nextInt(100);
tab[num] = o;
}
}
public void wypisz() {
for (int i = 0; i < 100; i++) {
if (tab[i] == null) System.out.println("Pokoj nr. " + (i + 1) + " jest wolny");
else System.out.println("Pokoj nr. " + i + " jest zajety przez " + tab[i].imie + " " + tab[i].nazwisko);
}
}
public static void main(String[] args) {
Hotel h = new Hotel();
//h.przydzielPokoje50();
//h.wypisz();
h.zamelduj(null, 30);
}
}
我还有一堂课Osoba:
public class Osoba {
public String imie;
public String nazwisko;
Osoba() {
imie = null;
nazwisko = null;
}
Osoba(String imie, String nazwisko) {
this.imie = imie;
this.nazwisko = nazwisko;
}
}
我想执行方法Zamelduj,它将一个人(Osoba)分配给表中的单元格。但是,每次我在下面插入除null之外的东西时,它表示第一个参数不是方法的有效参数。
h.zamelduj(null, 30);
我做错了什么?
答案 0 :(得分:0)
您需要创建一个类酒店的对象(在您要调用方法类型的类中):
Hotel myObjectHotel = new Hotel();
然后你可以调用方法:
myHotelObject. zamelduj(give parameters here);
:)
更新: 错过了真正的问题。只关注这个话题。对不起;)
答案 1 :(得分:0)
我认为你的问题是在线上#34; h.zamelduj(null,30);&#34;你需要创建一个新的Osoba:
h.zamelduj(new Osoba("o.o", "._.!"), 30);
发生的事情是该函数期待一个Osoba,如果你给它另一个东西,它就会拒绝。我希望它有所帮助