Paramètres (entiers) - java

Je suis un débutant en Java et je fais des questions pratiques sur Internet.

Écrivez une méthode appelée distance qui accepte quatreles coordonnées entières x1, y1, x2 et y2 en tant que paramètres et calculent la distance entre les points (x1, y1) et (x2, y2) sur le plan cartésien. Par exemple, l'appel de distance (1, 0, 4, 4) renverrait 5,0 et l'appel de distance (10, 2, 3, 5) renverrait 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 choses que je voudrais clarifier.Comment se fait-il que quand j'utilise ^, ils continuent à me donner une erreur en disant que cela ne peut pas être appliqué.En second lieu, j'essaie de doubler un nombre à l'intérieur d'un des nombres de l'équation.Mais ça continue à me donner une erreur aussi.

Réponses:

3 pour la réponse № 1

^ est l'opérateur binaire XOR.

Utilisation Math.pow au lieu. Ou Math.sqrt (meilleur).

Vous ne devriez pas jeter votre résultat sur int et puis retour à double. Juste utiliser

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

1 pour la réponse № 2
int d=(x2-x1)*(x2-x1)-(y2-y1)*(y2-y1))^0.5;

En java, ^ est l'opérateur XOR. Utilisation Math.pow().

Augmenter à la puissance de moitié, est le même à la route, ce qui peut être accompli avec Math.sqrt().


0 pour la réponse № 3
  1. Si vous voulez utiliser la puissance, utilisez Math.pow () au lieu de l'opérateur ^. Ou Math.sqrt ()
  2. Vous ne pouvez pas lancer en double, car votre méthode retourne int. Le changer en double statique publique

0 pour la réponse № 4

vous pouvez utiliser Math.sqrt(), c’est la méthode intégrée à java math.


0 pour la réponse № 5

Tout d’abord, vous ne pouvez pas retourner le double si votre fiction attend une valeur int. Deuxièmement, vous pouvez utiliser Math.pow() au lieu de ^, dans votre cas, vous pouvez utiliser Math.Sqrt(). Troisièmement, si vous voulez un résultat double, vous devez convertir les valeurs int que vous utilisez pour doubler:

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;
}