/ / Parâmetros (inteiros) - java

Parâmetros (inteiros) - java

Eu sou um iniciante em java e estou fazendo perguntas prática da internet.En tropeçou nessa questão e eu fiquei preso.

Escreva um método chamado distance que aceite quatrointeger coordena x1, y1, x2 e y2 como parâmetros e calcula a distância entre os pontos (x1, y1) e (x2, y2) no plano cartesiano. Por exemplo, a chamada de distância (1, 0, 4, 4) retornaria 5.0 e a chamada de distância (10, 2, 3, 5) retornaria 7.615773105863909.

public static int distance(int x1,int y1,int x2,int y2){
int d=(x2-x1)*(x2-x1)-(y2-y1)*(y2-y1))^0.5;
return (double)d;

}

2 coisas que eu gostaria de esclarecer.Como é que quando eu uso ^, eles continuam me dando um erro para dizer que não pode ser aplicada.Em segundo lugar, eu tento transmitir o dobro dentro de um dos números da equação.Mas continua me dando um erro também.

Respostas:

3 para resposta № 1

^ é o operador XOR binário.

Usar Math.pow em vez de. Ou Math.sqrt (Melhor).

Você não deve lançar seu resultado para int e depois de volta para double. Apenas use

public static double distance(int x1,int y1,int x2,int y2){
return Math.sqrt((x2-x1)*(x2-x1)-(y2-y1)*(y2-y1)));
}

1 para resposta № 2
int d=(x2-x1)*(x2-x1)-(y2-y1)*(y2-y1))^0.5;

Em java, ^ é o operador XOR. Usar Math.pow().

Levantar ao poder de um meio, é o mesmo no roteamento quadrado, que pode ser realizado com Math.sqrt().


0 para resposta № 3
  1. Se você quiser poder usar Math.pow () em vez de ^ operator. Ou Math.sqrt ()
  2. Você não pode converter o dobro, porque seu método retorna int. Mude para dupla estática pública

0 para a resposta № 4

você pode usar Math.sqrt(), é o método embutido em matemática de java.


0 para a resposta № 5

Primeiro você não pode retornar em dobro se sua ficção estiver esperando um valor int. Segundo você pode usar Math.pow() ao invés de ^, no seu caso você pode usar Math.Sqrt(). Terceiro, se você quer um resultado duplo, você precisa converter os valores int que você está usando para dobrar:

public static double distance(int x1,int y1,int x2,int y2){

double d = Math.sqrt(((x2-x1)*(x2-x1)-(y2-y1)*(y2-y1)));
return d;
}