Je travaille sur mon projet d'université. Mon problème que j'ai solveur système n-équations avec la possibilité de donner une solution utilisateur et de vérifier si elle est bonne ou non. Mon code de vérification de la solution suit:2 même nombre pas même en double java
public void printSolution(double[] sol) {
System.out.println();
System.out.println("Write 1 if you want to show solution or write 2 if you want to solve equations");
Scanner riesenie = new Scanner(System.in);
int r = riesenie.nextInt();
int N = sol.length;
switch (r) {
case 1:
System.out.println("----------------------------------------");
System.out.println("Solution is:");
for (int i = 0; i < N; i++) {
System.out.printf("%.2f ", sol[i]);
}
System.out.println();
break;
case 2:
System.out.println("Write your solution");
Scanner vysledok = new Scanner(System.in);
double[] v = new double[N];
for (int i = 0; i < N; i++) {
v[i] = vysledok.nextDouble();
}
for (int i = 0; i < N; i++) {
if (v[i] == (sol[i])) {
System.out.println("Your solution is right !");
System.out.println();
}
else {
System.out.println("Your solution is not right, solution is:");
for (i = 0; i < N; i++) {
System.out.printf("%.2f ", sol[i]);
System.out.println();
}
}
}
break;
default:
System.out.println("Number out of range");
System.out.println();
}
Et le problème est en sortie. J'ajoute des images avec sortie.
J'ajoute que nous devons coder en BlueJ. Merci pour l'aide.
Vous ne devez pas comparer les doubles. C'est parce que deux valeurs différentes pour double peuvent avoir la même représentation binaire. Veuillez vous reporter à IEEE-754 pour des explications sur ce que Java devrait implémenter mais je ne sais pas. – user902384
Et indice; votre code est difficile à lire. Ne mettez pas tous les trucs dans une seule méthode dans un seul commutateur. Au lieu de cela: créez de nombreuses petites méthodes d'aide qui font chacune une seule chose; et ensuite les utiliser ensemble. – GhostCat