62
задан 19 December 2012 в 19:04

7 ответов

^ в Java не означает возводить в степень. Это означает XOR.

можно использовать Java Math.pow()

<час>

, И Вы могли бы хотеть рассмотреть использование double вместо int —, который является:

double height;
double weight;

Примечание, что 199/100 оценивает к 1.

117
ответ дан 31 October 2019 в 13:27

мы можем использовать

Math.pow(2, 4);

, это значит 2 для питания 4 (2^4)

ответ = 16

23
ответ дан 31 October 2019 в 13:27

Слишком поздно для OP, конечно, но все еще... Реконструкция выражения как:

int bmi = (10000 * weight) / (height * height)

Устраняет всю плавающую точку и преобразовывает подразделение константой к умножению, которое должно выполниться быстрее. Целочисленная точность, вероятно, достаточна для этого приложения, но если это не затем:

double bmi = (10000.0 * weight) / (height * height)

все еще было бы улучшение.

3
ответ дан 31 October 2019 в 13:27

Необходимо использовать ниже метода -

Math.pow (удвойте a, дважды b)

Возвращает значение первого аргумента, возведенного в степень второго аргумента.

2
ответ дан 31 October 2019 в 13:27

Ваше вычисление вероятно преступник. Попытайтесь использовать:

bmi = weight / Math.pow(height / 100.0, 2.0);

, поскольку и height и 100 целые числа, Вы, вероятно, получали неправильный ответ при делении. Однако 100.0 двойное. Я предлагаю, чтобы Вы сделали weight двойное также. Кроме того, ^ оператор не для полномочий. Используйте Math.pow() метод вместо этого.

8
ответ дан 31 October 2019 в 13:27

^ не оператор, который Вы хотите. Вы ищете pow функция java.lang.Math .

можно использовать Math.pow(value, power).

Пример:

Math.pow(23, 5); // 23 to the fifth power
4
ответ дан 31 October 2019 в 13:27
int weight=10;
int height=10;
double bmi;
bmi = weight / Math.pow(height / 100.0, 2.0);
System.out.println("bmi"+(bmi));
double result = bmi * 100;
result = Math.round(result);
result = result / 100;
System.out.println("result"+result);
2
ответ дан 31 October 2019 в 13:27

Другие вопросы по тегам:

Похожие вопросы: