Yash Sharma
Yash Sharma

Reputation: 11

operator || cannot be included in int?

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

Answers (2)

Harsimran17
Harsimran17

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

Ajmal Muhammad
Ajmal Muhammad

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

Related Questions