JavaRush /Java блог /Архив info.javarush /Почему неправильно вычисляется степень?
turboblufer
15 уровень

Почему неправильно вычисляется степень?

Статья из группы Архив info.javarush
Ситуация — следующий код (требуется создать метод, который ищет расстояние между двумя точками) Почему неправильно вычисляется степень? - 1

public class Util
{
    public static double getDistance(int x1, int y1, int x2, int y2)
    {
        return Math.sqrt((x2 - x1)^2 +(y2-y1)^2); \\ключевая строчка кода, остальное можно пропустить
    }
}
программа работает неправильно (не правильно считается, если оставить после круглых скобок возведение в квадрат (символ ^2), но стоит мне заменить (х2-х1)^2 на (х2-х1)*(х2-х1), как все сразу становится на свои места! Почему программа считает именно так? Как именно считается знак степени после скобки? И как поменять код, чтобы сохранился знак степени?
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Kalter Уровень 0
26 июля 2014
В степень неправильно возводишь. Используй метод (не знаю есть ли он в java.lang.Math):
public int sqr(int num) {

    return num * num;
}
blacky Уровень 23
26 июля 2014
Большинство математических операций есть в классе Math, вот здесь примеры.