静态错误和主要问题

时间:2018-05-17 14:21:53

标签: java

我收到错误:静态错误:此类没有接受String []的静态void main方法。控制台还告诉我它运行Guest。但是,我用带有main的酒店开始我的代码,所以我不明白为什么它从Guest开始。我用了一些类构造函数。据我所知,我不需要为每个班级都有一个构造函数。

这是我的代码:

c

1 个答案:

答案 0 :(得分:1)

实际上即使你这样写了也可以运行。好的做法是将单独的类保存在单独的文件中。 Java实际上不允许您在单个文件中拥有多个公共类。但是你写它们的方式并不公开,所以你很好(我不是说这是好方法)。

如果您按javac yourfile.java编译程序,您会注意到您获得了多个类文件(该文件中定义的每个类一个),然后您可以使用类名称java Hotel运行您的程序如果酒店不是公共课!将它公开并将其他文件保存在单独的文件中仍然会更好。

除了运行程序外,还会出现空指针异常,因为在这一行中:

 rooms[i].newGuest();  // rooms[i] is null and you can't call its method

尝试将构造函数更改为:

 Hotel(int b){
    rooms = new Room[b];
     for(int i=0; i<b; i++) {
          rooms[i]=new Room(); //Create the rooms
     }
  }

这样我们为客人准备房间:)