В сообщении об ошибке указано «отсутствует оператор возврата», но я не знаю, куда поместить оператор возврата. - PullRequest
0 голосов
/ 13 апреля 2020
public class BakeryBusiness {
    public static void main(String[] args){  
    }
    public void yearsOfBusiness(){
        int myBusinessStarts = 2023;
    }
    public void itemsToSell(){
        String item1 = "birthdayCake";
        String item2 = "pastry";
        String item3 = "coffee";
        String item4 = "bubbleTea";
        System.out.println(item1);
    } 
    public boolean optionsToChoose(){
        boolean sweetIsChose = true;
        if(sweetIsChose = true){
            System.out.println("You have chose a dessert! What will it be?");
        }else{
            System.out.println("Are you craving for salty foods? Choose what you want!");
            return sweetIsChose;
        }
    }
}

где в методе optionsToChoose поместить оператор возврата? Я хочу распечатать «Вы выбрали десерт! Что это будет?»

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Возвращается только одно значение, если sweetIsChose равно false. Поэтому вы также должны указать это в своем операторе if.

if (sweetIsChose == true)
    System.out.println("You have chose a dessert! What it it be?");
    return sweetIsChose;
} else {
    System.out.println("Are you craving for salty foods? Choose what you want!");
    return sweetIsChose;
}

Но так как вы возвращаете одно и то же в обоих выражениях, вы можете сделать все немного более понятным:

if (sweetIsChose == true)
    System.out.println("You have chose a dessert! What it it be?");
} else {
    System.out.println("Are you craving for salty foods? Choose what you want!");
}
return sweetIsChose;

Также ваша маленькая ошибка в том, что вы пытаетесь присвоить новое значение локальной переменной sweetIsChose в операторе if. Поэтому вместо sweetIsChose = true используйте sweetIsChose == true. Однако вы можете избавить себя от неприятностей и просто передать их if (sweetIsChose).

0 голосов
/ 13 апреля 2020

Вам необходимо вернуться из каждой ветви метода. В вашем случае вы возвращаетесь из else ветви, но не из if.

if (sweetIsChose == true)
    System.out.println("You have chose a dessert! What it it be?");
    return sweeIsChose; //<- you were missing this
}

Примечание: вы проводите логическое сравнение, используя ==, но вы использовали один =, который для назначения. Так и должно быть sweetIsChose == true.

...