Reputation: 11
public class shouldWakeUp {
public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) {
if (barking) {
if (hourOfTheDay=8 || hourOfTheDay=7 || hourOfTheDay=6 || hourOfTheDay=5 || hourOfTheDay=4 || hourOfTheDay=3 || hourOfTheDay=2 || hourOfTheDay=1 || hourOfTheDay=23 || hourOfTheDay=00) {
return true;
} else {
return false;
}
if (hourOfTheDay < 0 || hourOfTheDay > 23)
return false;
}
}
}
I am not able to understan the error, it says: operator || cannot be included in int
.
Upvotes: 1
Views: 88
Reputation: 9
Conditions in the statement should give boolean result. Java uses boolean result(return value) to manipulate conditions.
In your code you are using "=" assignment operator which doesn't give the expected return value.
Using "==" solves the issue in your code as suggested by Ajmal in one of the answers.
However after the edit your code will have unreachable statements after the fix, in that case try the following:
if (barking
&& (hourOfTheDay == 8 || hourOfTheDay == 7 || hourOfTheDay == 6
|| hourOfTheDay == 5 || hourOfTheDay == 4
|| hourOfTheDay == 3 || hourOfTheDay == 2
|| hourOfTheDay == 1 || hourOfTheDay == 23 || hourOfTheDay == 00)) {
return true;
} else if (hourOfTheDay < 0 || hourOfTheDay > 23)
return false;
else {
return false;
}
Upvotes: 0
Reputation: 695
use this code
public static boolean shouldWakeUp(boolean barking, int hourOfTheDay) {
if (barking) {
if (hourOfTheDay==8 || hourOfTheDay==7 || hourOfTheDay==6 || hourOfTheDay==5 || hourOfTheDay==4 || hourOfTheDay==3 || hourOfTheDay==2 || hourOfTheDay==1 || hourOfTheDay==23 || hourOfTheDay==00) {
return true;
} else {
return false;
}
if (hourOfTheDay < 0 || hourOfTheDay > 23)
return false;
}
}
For comparison you have to use ==
instead of =
Upvotes: 4