【问题标题】:Boolean with multiple classes具有多个类的布尔值
【发布时间】:2020-10-05 12:55:36
【问题描述】:

我正在尝试参加 3 级课程并通过布尔值来预订房间。我有司机程序、建筑、房间程序。我将保留设置为 false,但当它已设置为 true 时,我无法弄清楚如何打印文本语句。我想我要么是通过驱动程序错误的类传递布尔值,要么是遗漏了一些东西。我在使用 if 语句的构建类中使用了 reserveRoom,以查看打印语句是否已经正确,无论我走哪条路,它都不起作用。

任何帮助将不胜感激。 谢谢。

从将布尔值发送到构建程序的驱动程序中

  System.out.print ("Which room would you like to reserve?");
  System.out.print (building);
  System.out.print ("reserve: ");
  reservNum = input.nextInt();

  building.reserveRoom(reserve, reservNum);

来自我的建筑课。

public void reserveRoom (boolean reserve, int count)
{
    //class constant

    //class variables

    /*****************************************************/

    room [count].updateReserve(reserve);

} // end 

来自房间类。

    public void updateReserve(boolean newReserve)
{
    //class constant

    //class variables

    /*****************************************************/


    if (newReserve == false)
    {
        roomAvail = true;
    }
    else
    {
        roomAvail = false;
    }
} // END 

【问题讨论】:

  • 如果我查看您的 cmets,您对范围和基础知识的了解。方法中不能有类变量和类常量,你可以在那里使用它们,那是另一回事。
  • @Stultuske 我将如何调整我的代码以允许我正在尝试做的事情,或者我可以阅读某些内容来帮助我做出正确的更改?我浏览了不同的帖子,并浏览了一本教科书,几次查看特定的布尔值,但仍然无法弄清楚这一部分。

标签: java class boolean


【解决方案1】:

好吧,您的问题中缺少一些信息,但它认为您正在寻找:

public void updateReserve(boolean newReserve) {
  if(newReserve && !roomAvail) {
    System.out.println("Sorry this room is taken")
 } else {
    roomAvail = !newReserve;
 }
}

【讨论】:

  • 所以我对您提供的代码进行了一些更改,并让它在我当前的测试中运行。 if(roomAvail) { System.out.println("对不起,这个房间被占用了"); } 其他 { roomAvail = !newReserve; }
【解决方案2】:

无论我能理解你的问题,这就是我想出的 -

    public class Reservation {

    public static void main(String args[]) {
        Building building = new Building(20);
        boolean reserve= false;
         
        System.out.println("Which room would you like to reserve?");
  System.out.println(building);
  System.out.println("reserve: ");
  int reservNum = 2;

  building.reserveRoom(reserve, reservNum);
  System.out.println("Is Reserved?:"+building.getRoom(reservNum).getRoomAvail());
    }
    
}

class Building {
    
    Room room[];
    public Building(int numOfRooms) {
        room = new Room[numOfRooms];
        for(int i=0; i<numOfRooms; i++) {
            room[i] = new Room();
        }
    }
    public String toString() {
        return "This Building has "+room.length+"rooms";
    }
    public Room getRoom(int roomNum){
        return room[roomNum];
    }
public void reserveRoom (boolean reserve, int count)
{
    //class constant

    //class variables

    /*****************************************************/

    room [count].updateReserve(reserve);

} // end
}

class Room {
    boolean roomAvail;
    
    public boolean getRoomAvail() {
        return roomAvail;
    }
public void updateReserve(boolean newReserve)
{
    //class constant

    //class variables

    /*****************************************************/


    if (newReserve == false)
    {
        roomAvail = true;
    }
    else
    {
        roomAvail = false;
    }
} // END 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 2019-06-08
    • 2013-01-06
    • 2017-05-17
    相关资源
    最近更新 更多