dimanche 25 octobre 2020

Having return in every if & else if & else statements vs one return at the end of code

Hello I have a quick question about multiple return statements vs single return statement at the end of the code.

From the first code, used return statement for every if, else if, and else statments and it gave me an error. And I thought I covered every possible cases but it game me an error bellow.

ERROR : missing return statement line:16

What causes this error? Also, are there any way that I can improve my second code?

public int caughtSpeeding(int speed, boolean isBirthday) {
    if (!isBirthday)
        if (speed <= 60)
            return 0;
        else if (speed <= 80)
            return 1;
        else 
            return 2;
    if (isBirthday)
        if (speed <= 65)
            return 0;
        else if (speed <= 85)
            return 1;
        else 
            return 2;
}

From this second code, I was able to get rid of the error.

public int caughtSpeeding(int speed, boolean isBirthday) {
    int flag = 0;
    if (!isBirthday)
        if (speed <= 60)
            flag = 0;
        else if (speed <= 80)
            flag = 1;
        else 
            flag = 2;
    if (isBirthday)
        if (speed <= 65)
            flag = 0;
        else if (speed <= 85)
            flag = 1;
        else 
            flag = 2;
        return flag;
}

Aucun commentaire:

Enregistrer un commentaire