【问题标题】:java how to execute methodjava如何执行方法
【发布时间】:2014-11-11 18:16:35
【问题描述】:

我创建了一个定义如下的酒店类:

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);

我做错了什么?

【问题讨论】:

  • 完全不清楚你在问什么
  • 究竟如何使用这个方法...如果你可以插入代码。

标签: java class methods


【解决方案1】:

我认为你的问题在于“h.zamelduj(null, 30);”这一行你需要创建一个新的 Osoba:

h.zamelduj(new Osoba("o.o", "._.!"), 30);

发生的情况是该函数期待一个 Osoba,如果你给它另一个东西,它会拒绝。希望对你有帮助

【讨论】:

  • 不幸的是,我收到错误消息“constructor Osoba(string,string) is undefined”...那我应该为它创建一个构造函数吗?
  • 这就是问题所在,你有一个 (string, string) 的构造函数。你的项目设置如何? 2个类在同一个文件上吗?这些类在同一个包中吗?
【解决方案2】:

您需要创建一个酒店类的对象(在您想要调用方法类型的类中):

Hotel myObjectHotel = new Hotel();

然后就可以调用方法槽了:

myHotelObject. zamelduj(give parameters here);

:)

更新: 错过了真正的问题。只是专注于主题。对不起。 ;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    相关资源
    最近更新 更多