j`ai fait ce programme la , en utilisant des méthodes ,pour le calcule d`équation de second dégrée lorsque le discriminant est positive , mais a chaque fois que j`exécute il n`affiche pas les 3 dernières méthodes
ou est le problème ici ?????
import java.util.*;
public class equation_second_degree {
static int d=0;
static void affiche(int a,int b, int c) {
System.out.println("les trois coefficients sont : a= "+a+" b= "+b+" c= "+c);
System.out.println("L`equation est : "+a+"*x*x+"+b+"*x+"+"*"+c);
}
static void delta(int a, int b , int c) {
int d;
d= b*b-4*a*c ;
System.out.println("la valeur de delta est "+d);
}
static void racine1(int a , int b , int d ) {
double x1;
x1 = (-b-(Math.sqrt(d)))/(2*a);
System.out.println("la premiere racine est"+x1);
}
static void racine2(int a , int b , int d ) {
double x2;
x2 = (-b-(Math.sqrt(d)))/(2*a);
System.out.println("la deuxieme racine est"+x2);
}
public static void main(String[]args) {
Scanner sc= new Scanner(System.in);
System.out.println("Donner les coefficients de l`equation");
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
affiche(a,b,c);
delta(a,b,c);
if (d>0) {
racine1(a,b,d);
racine2(a,b,d);
}
else System.out.println("Erreur ! , le discriminant est negatif ");
}
}
- Edité par wissam_bouattou 13 octobre 2018 à 13:25:42
Tu redéfinis la variable "d" localement, donc la variable "d" manipulée dans ta fonction est locale et n'est donc pas celle qui est au niveau de ta classe.
donc au final la variable "d" défini au niveau de ta classe est toujours égale à 0.
static void delta(int a, int b , int c) {
// int d;
d= b*b-4*a*c ;
System.out.println("la valeur de delta est "+d);
}
Le sujet est déplacé de la section Let's talk! vers la section Langage Java
Manque de Politesse
Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?
bonjour , effectivement vous avez raison , je suis très désolé , je suis débutante et c`est ma première expérience ici je m`excuse , et merci infiniment pour votre conseil , bonne journée
axldenied a écrit:
Bonjour,
Ton soucis est dans ta fonction "delta"
Tu redéfinis la variable "d" localement, donc la variable "d" manipulée dans ta fonction est locale et n'est donc pas celle qui est au niveau de ta classe.
donc au final la variable "d" défini au niveau de ta classe est toujours égale à 0.
static void delta(int a, int b , int c) {
// int d;
d= b*b-4*a*c ;
System.out.println("la valeur de delta est "+d);
}
là ça semble mieux fonctionner.
- Edité par axldenied 13 octobre 2018 à 22:13:53
Bonjour ,
j`ai suivi votre conseil et j`ai fait les modifications que vous m`avez orienté , merci beaucoup le problème est résolu , aussi j`ai modifiée les types des valeurs de int a double ...
bonne journée je vous remercie encore pour vote aide
- Edité par wissam_bouattou 19 octobre 2018 à 13:15:47
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)