Основная Java-программа, которая не была скомпилирована - PullRequest
0 голосов
/ 30 декабря 2018

Я написал приведенный ниже код, но из-за ошибки он не был успешно выполнен.Пожалуйста, порекомендуйте!В сообщении об ошибке говорится: «ошибка: несовместимые типы: double нельзя преобразовать в логическое значение», а также «ошибка: несовместимые типы: логическое значение нельзя преобразовать в double».

class BMITest {
    public static void main(String[] args) {
        showData(fullName("John", "McDermott"), 178, 74.3);
}

    public static void showData(String name, double height, double weight) {
        double bmi = BMInum(height, weight);
        System.out.println("His name is " + name + ", and his BMI is " + bmi);

        if (isHealthy(bmi)) {
            System.out.println("He is healthy.");
        } else {
            System.out.println("He's not healthy.");
        }
    }

    public static String fullName(String first, String last) {
        return first + " " + last;
    }

    public static double BMInum(double height, double weight) {
        return weight / height / height * 10000;
    }

    public static double isHealthy(double bmi) {
        return bmi >= 18.5 && bmi < 25.0;
    }


}

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Измените свой isHealthy метод на

public static boolean isHealthy(double bmi) {
    return bmi >= 18.5 && bmi < 25.0;
}
0 голосов
/ 30 декабря 2018

isHealthy возвращает двойное значение, а не логическое значение.Поскольку вы используете его в операторе if, оператор необходим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...