There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.
If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.
Join the Discussion. Help a fellow learner on their journey.
Ask or answer a question about this exercise by clicking reply () below!
You can also find further discussion and get answers to your questions over in Language Help.
Agree with a comment or answer? Like () to up-vote the contribution!
public class Reservation {
int guestCount;
int restaurantCapacity;
boolean isRestaurantOpen;
boolean isConfirmed;
public Reservation(int count, int capacity, boolean open) {
guestCount = count;
restaurantCapacity = capacity;
isRestaurantOpen = open;
}
public void confirmReservation() {
/*
Write conditional
~~~~~~~~~~~~~~~~~
if restaurantCapacity is greater
or equal to guestCount
AND
the restaurant is open:
print "Reservation confirmed"
set isConfirmed to true
else:
print "Reservation denied"
set isConfirmed to false
*/
if (restaurantCapacity>=guestCount&&isRestaurantOpen){
System.out.println("Reservation confirmed");
isConfirmed = true;
} else {
System.out.println("Reservation denied");
isConfirmed = false;
}
}
public void informUser() {
System.out.println("Please enjoy your meal!");
}
public static void main(String[] args) {
Reservation partyOfThree = new Reservation(3, 12, true);
Reservation partyOfFour = new Reservation(4, 3, true);
partyOfThree.confirmReservation();
partyOfThree.informUser();
partyOfFour.confirmReservation();
partyOfFour.informUser();
}
}
With the output of:
Reservation confirmed
Please enjoy your meal!
Reservation denied
Please enjoy your meal!
I think it’s to be a trigger for you to correct this. I corrected this with:
public void informUser() {
if(isConfirmed == true){
System.out.println(“Please enjoy your meal!”);
} else {
System.out.println(“We’re sorry but we’re full, hope to see you next time!”);
}
I can’t see your code but I stumbled across the same problem. The solution for me was to look into the indentations plus the positions of the curly braces {}. Then I also checked for typos. The best is if you open up the “Introduction to Conditional Operators” page in a separate tab and compare that code with yours. That code is also the whole thing that you will be going through anyways so it’s like a cheat that you can use to peek back on. Hope this will help.
if (restaurantCapacity>=guestCount&&isRestaurantOpen){
System.out.println(“Reservation confirmed”);
isConfirmed = true;
} else {
System.out.println(“Reservation denied”);
isConfirmed = false;
}
}
This is the section of code I had a problem in. Should’nt the if statement be if(restaurantCapacity>=guestCount&&isRestaurantOpen==true) because the restaurant should be open for the reservation to be made.
isRestaurantOpen is a boolean, meaning that it takes a value of either true or false. The if conditional takes in an expression that evaluates to true or false.
It is not necessary to use isRestaurantOpen == true because isRestaurantOpen has a value of true. When using any boolean as a condition for an if statement, you can simply input the boolean since the if statement will evaluate whether the boolean is true or false.
Although both if (restaurantCapacity >= guestCount && isRestaurantOpen) and if (restaurantCapacity >= guestCount && isRestaurantOpen == true) will work and give the same result, the == true is redundant and not necessary.
Hope this helps! If I explained it in a way that’s a bit confusing, please let me know!
Hello @seitanex5 and welcome to the Codecademy Forums!
isConfirmed is already declared in this statement.
boolean isConfirmed;
I believe you are trying to ask why we don’t assign a value to the isConfirmed variable. We don’t necessarily need to assign a value for every instance variable by using a constructor. Assigning the value of an instance variable in a constructor simply means that the instance variable is given a value when the object is created. Instance variables can be assigned later on in your code.
The confirmReservation method is used to determine whether or not a reservation is confirmed or denied. The isConfirmed boolean represents if the reservation is confirmed (true) or if it is denied (false). We assign isConfirmed the value of true if the reservation is confirmed. This can be useful if we add some other functionality to our code that requires us to determine if a Reservation is confirmed or not.
public void seatsLeft() {
System.out.println("The number of remaining seats in our restaurant is: " + restaurantCapacity);
}
public static void main(String args) {
Reservation partyOfThree = new Reservation(3, true);
Reservation partyOfFour = new Reservation(4, true);
Reservation partyOfOneHundredAndFourtyFive = new Reservation (145, true);
partyOfThree.confirmReservation();
partyOfThree.seatsLeft();
partyOfFour.confirmReservation();
partyOfFour.seatsLeft();
partyOfOneHundredAndFourtyFive.confirmReservation();
partyOfFour.seatsLeft();
}
}
It’s supposed to return
Reservation confirmed. Please enjoy your meal! The number of remaining seats in our restaurant is: 147 Reservation confirmed. Please enjoy your meal! The number of remaining seats in our restaurant is: 143 Reservation denied
Instead, it returns
Reservation confirmed. Please enjoy your meal! The number of remaining seats in our restaurant is: 147 Reservation confirmed. Please enjoy your meal! The number of remaining seats in our restaurant is: 146 Reservation confirmed. Please enjoy your meal! The number of remaining seats in our restaurant is: 146