Utilisation du théorème de Pythagore avec Java


J'essaie de créer ce programme qui résout essentiellement la 3ème valeur d'un triangle rectangle.

Donc l'hypoténuse sera toujours 1, et l'une des valeurs (permet de l'appeler "x") sera supérieur ou égal à -1, mais inférieure ou égale à 1.

Tout d'abord, j'ai créé une boucle pour inclure toutes les valeurs de x:

   int i = 10;

   while (i >= -10)
   {
       double x = i / 10.0;
       i--;

       System.out.println(x);

    } 

Maintenant, j'obtiens une belle liste qui me donne les valeurs pour x. Je dois maintenant l'utiliser pour calculer les valeurs de la troisième longueur du triangle. Je peux le faire à l'aide de le théorème de Pythagore. Le voici:

double firsty = Math.pow(1, 2) - Math.pow(x, 2);
double y = Math.sqrt(firsty);

Lorsque je mets cela dans la boucle while, puis que j'écris une instruction print pour y, les résultats sont formatés de manière à répertorier la première valeur de x, puis la première valeur de y, puis la deuxième valeur de x, puis la deuxième valeur de y. Comment puis-je changer la mise en forme pour qu'elle ait juste deux lignes distinctes, une colonne qui a les valeurs de x et une autre colonne qui a les valeurs de y?

Ce que j'ai essayé de faire à l'origine est d'utiliser un tableau pour maintenez les valeurs de x dedans, mais je ne peux pas calculer les valeurs de la 3ème longueur en utilisant un tableau sans que le compilateur me crie "ERREUR"!

L'utilisation de la fonction printf est ce qui doit être fait (à peu près sûr), mais je reçois un message d'erreur lorsque j'utilise printf pour la sortie de x et y.

Author: CppLearner, 2015-01-05

1 answers

D'après votre question, il semble que vous ayez oublié de prendre la racine carrée de y. La formule de Pythagore est c2 = un2 + b2. Donc, je pense que vous cherchez

double y = Math.sqrt(Math.pow(1, 2) - Math.pow(x, 2));

Et de format, vous pouvez utiliser un DecimalFormat ou String.format comme

String str = String.format("%.2f", y); // <-- 2 decimal places.
 1
Author: Elliott Frisch, 2015-01-05 00:16:27