FAQ: Conditional Operators - Conditional-Or: ||

This community-built FAQ covers the “Conditional-Or: ||” exercise from the lesson “Conditional Operators”.

Paths and Courses
This exercise can be found in the following Codecademy content:

FAQs on the exercise Conditional-Or: ||

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.

You can also find further discussion and get answers to your questions over in #get-help.

Agree with a comment or answer? Like () to up-vote the contribution!

Need broader help or resources? Head to #get-help and #community:tips-and-resources. If you are wanting feedback or inspiration for a project, check out #project.

Looking for motivation to keep learning? Join our wider discussions in #community

Found a bug? Report it online, or post in #community:Codecademy-Bug-Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

I dont understand how come when i use the guestCount < 1 , i get a true result while the count < 1 gives a false?

I was thinking maybe because all the instance fields are set to 0 as default, but i’m not sure.

if we do `System.out.writeln`, we can see `guestCount` being zero. So that seems to be the default value.

but you should really use `count`, you know why, right?

because the objects invoke the constructor first with its given values and only then the code inside the constructor runs.
if guestCount = count; was placed before the condition you could use guestCount < 1

right? also what does `System.out.writeln` mean?

exactly

yes, you seem to understand everything very well

i meant `System.out.println`, i program in Java too little.

2 Likes
``````public class Reservation {
int guestCount;
int restaurantCapacity;
boolean isRestaurantOpen;
boolean isConfirmed;

public Reservation(int count, int capacity, boolean open) {
// Write conditional statement below
if (count<1||count>8) {
System.out.println("Invalid reservation!");
}

guestCount = count;
restaurantCapacity = capacity;
isRestaurantOpen = open;
}

public void confirmReservation() {
if (restaurantCapacity >= guestCount && isRestaurantOpen) {
System.out.println("Reservation confirmed");
isConfirmed = true;
} else {
System.out.println("Reservation denied");
isConfirmed = false;
}
}

public void informUser() {
}

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 output:

``````Reservation confirmed
Reservation denied
``````
2 Likes

Well considering the fact that this is around 6 months old, maybe this wont be much help but then maybe for someone who might have the same problem in the future.
the reason why you are getting Please enjoy your meal! after reservation being denied is because in the informUser() method there is no if condition preventing it from not being printed. and also you are calling Party0fFour.informUser() even after reservation being denied in the confirmReservation() method, which doesnt make much sense. hope it helps

1 Like

constructor method runs when we call a instance. But regardless of the objects being callen , constructor output is on the top of the terminal. Can someone explain that?

public static void main(String args) {

``````Reservation partyOfThree = new Reservation(3, 12, true);

Reservation partyOfFour = new Reservation(9, 3, true);

partyOfThree.confirmReservation();

partyOfThree.informUser();

partyOfFour.confirmReservation();

partyOfFour.informUser()
``````

First line of the terminal is invalid reservation! Which belongs to partyOfFour callout.

no, the constructor is invoked/called when we create a an instance. so doing `new Reservation` will invoke the constructor.

OH constructor method is invoked ,
when this line runs,

Car ferrari = new Car();

``````if(a == с || b == c)
``````if((a || b) == c)