Probleme avec mon algo (java)
Résolu/Fermé
patriot01
-
23 mars 2009 à 12:15
patriot01 Messages postés 60 Date d'inscription samedi 10 janvier 2009 Statut Membre Dernière intervention 21 avril 2014 - 23 mars 2009 à 16:49
patriot01 Messages postés 60 Date d'inscription samedi 10 janvier 2009 Statut Membre Dernière intervention 21 avril 2014 - 23 mars 2009 à 16:49
A voir également:
- Probleme avec mon algo (java)
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
15 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
23 mars 2009 à 16:17
23 mars 2009 à 16:17
Salut,
C'est normal, il y a un petit '\n' qui se balade automatiquement dans le buffer.
Utilise plutôt la classe Scanner.
Cdlt
C'est normal, il y a un petit '\n' qui se balade automatiquement dans le buffer.
Utilise plutôt la classe Scanner.
import java.util.Scanner; public class discriminant { public static void main(String[] args){ double a,b,c,x1,x2,delta; Scanner scan=new Scanner(System.in); System.out.print("a= "); a = scan.nextDouble(); System.out.print("b= "); b = scan.nextDouble(); System.out.print("c= "); c = scan.nextDouble(); delta=(b*b)-(4*a*c); System.out.println("Le discriminant est= "+delta); } }
Cdlt
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 12:24
23 mars 2009 à 12:24
Le soucis est que vous ne récupérez pas les valeur entrée. Il faut procéder ainsi :
public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
int a = System.in.read();
System.out.print("b= ");
int b = System.in.read();
System.out.print("c= ");
int c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
}
public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
int a = System.in.read();
System.out.print("b= ");
int b = System.in.read();
System.out.print("c= ");
int c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
}
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
>
patriot01
23 mars 2009 à 12:34
23 mars 2009 à 12:34
Pouvez-vous me copier l'erreur exact s'il vous plaît?
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 12:39
23 mars 2009 à 12:39
le compilateur affiche
"Duplicate local variable a
Duplicate local variable b
Duplicate local variable c
at discriminant.main(discriminant.java:6)
"Duplicate local variable a
Duplicate local variable b
Duplicate local variable c
at discriminant.main(discriminant.java:6)
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 13:39
23 mars 2009 à 13:39
J'avais pas vu la déclaration des variables :
public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
a = System.in.read();
System.out.print("b= ");
b = System.in.read();
System.out.print("c= ");
c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
}
public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
a = System.in.read();
System.out.print("b= ");
b = System.in.read();
System.out.print("c= ");
c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 13:48
23 mars 2009 à 13:48
now le compilateur affiche cet message:
Unhandled exception type IOException
Unhandled exception type IOException
Unhandled exception type IOException
at discriminant.main(discriminant.java:6)
Unhandled exception type IOException
Unhandled exception type IOException
Unhandled exception type IOException
at discriminant.main(discriminant.java:6)
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 13:53
23 mars 2009 à 13:53
public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
try {
System.out.print("a= ");
a = System.in.read();
System.out.print("b= ");
b = System.in.read();
System.out.print("c= ");
c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
catch (IOException e){
System.out.println("Erreur de lecture de l'utilisateur");
}
}
}
ça veut juste dire que tu n'as pas gérer le cas où une erreur IO (donc InputOutput, c'est à dire d'entrée sortie) surviendrait. Ce que j'ai fait veut dire que dans le cas où une telle erreur (appelée aussi exception) serait levée, on écrit "Erreur de lecture de l'utilisateur"
public static void main(String[] args){
double a,b,c,x1,x2,delta;
try {
System.out.print("a= ");
a = System.in.read();
System.out.print("b= ");
b = System.in.read();
System.out.print("c= ");
c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
catch (IOException e){
System.out.println("Erreur de lecture de l'utilisateur");
}
}
}
ça veut juste dire que tu n'as pas gérer le cas où une erreur IO (donc InputOutput, c'est à dire d'entrée sortie) surviendrait. Ce que j'ai fait veut dire que dans le cas où une telle erreur (appelée aussi exception) serait levée, on écrit "Erreur de lecture de l'utilisateur"
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 13:59
23 mars 2009 à 13:59
ya un autre probleme
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
IOException cannot be resolved to a type
at discriminant.main(discriminant.java:16)
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
IOException cannot be resolved to a type
at discriminant.main(discriminant.java:16)
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 14:12
23 mars 2009 à 14:12
Ajoute cette ligne avant le début de ta classe :
import java.io.IOException;
import java.io.IOException;
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 15:32
23 mars 2009 à 15:32
pardon pour le derangemen NookZ mai j'ai un blem avec l'algo encore g n'arrive pa a rentré les valeurs de (b) et de (c) le compilateur affiche
a= 2
b= c= Le discriminant est= -1831.0
a= 2
b= c= Le discriminant est= -1831.0
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 15:34
23 mars 2009 à 15:34
vous voulez dire que le programme ne vous laisse pas entrer de valeur pour b et c?
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 15:41
23 mars 2009 à 15:41
oui c'est exactemen ça
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 15:45
23 mars 2009 à 15:45
Je ne suis pas sûre de mon coup, mais je tenterai ça :
public static void main(String[] args){
double a,b,c,x1,x2,delta;
boolean fin = false;
while(!fin){
try {
System.out.print("a= ");
a = System.in.read();
System.out.print("b= ");
b = System.in.read();
System.out.print("c= ");
c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
fin = true;
}
catch (IOException e){
System.out.println("Erreur de lecture de l'utilisateur");
}
}
}
public static void main(String[] args){
double a,b,c,x1,x2,delta;
boolean fin = false;
while(!fin){
try {
System.out.print("a= ");
a = System.in.read();
System.out.print("b= ");
b = System.in.read();
System.out.print("c= ");
c = System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
fin = true;
}
catch (IOException e){
System.out.println("Erreur de lecture de l'utilisateur");
}
}
}
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 15:48
23 mars 2009 à 15:48
non cè plein d'erreur encore
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 15:56
23 mars 2009 à 15:56
faut me dire quelles erreurs, sinon je risque pas de pouvoir aider ^^"
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 16:01
23 mars 2009 à 16:01
le compilateur souligne
void , while,le croché devan string
le compilateur ne demare meme pas la compilation
void , while,le croché devan string
le compilateur ne demare meme pas la compilation
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 16:04
23 mars 2009 à 16:04
tu n'as pas oublié de remettre :
public class discriminant {
devant et
} après?
public class discriminant {
devant et
} après?
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 16:08
23 mars 2009 à 16:08
t'avai raison mai je n'arrive toujours pas a renté la valeur de b et c
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 16:16
23 mars 2009 à 16:16
Je crois que je vois le prob :
Public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
a = lire();
System.out.print("b= ");
b = lire();
System.out.print("c= ");
c = lire();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
public static int lire()
{
int retour = -1;
try {
retour = System.in.read();
while ((char)System.in.read() != '\n');
}
catch (IOException e){
System.out.println("Erreur de lecture de l'utilisateur");
}
return retour;
}
}
Public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
a = lire();
System.out.print("b= ");
b = lire();
System.out.print("c= ");
c = lire();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
public static int lire()
{
int retour = -1;
try {
retour = System.in.read();
while ((char)System.in.read() != '\n');
}
catch (IOException e){
System.out.println("Erreur de lecture de l'utilisateur");
}
return retour;
}
}
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 16:31
23 mars 2009 à 16:31
ça marche merci bcp
la classe scanner g la connè pas
. avec cette classe ta pa eu besoin de (java.io.IOException) pourquoi,di g peu l'utilisé ds toute mes saisies clavier?
si ta des cours sur les classe svp pouvez vou me l'envoyez
la classe scanner g la connè pas
. avec cette classe ta pa eu besoin de (java.io.IOException) pourquoi,di g peu l'utilisé ds toute mes saisies clavier?
si ta des cours sur les classe svp pouvez vou me l'envoyez
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
23 mars 2009 à 16:35
23 mars 2009 à 16:35
La classe scanner utilise la levée de l'exception IOException comme la fin de la chaîne entrée par l'utilisateur.
On a pas besoin de l'importer car elle n'est pas utiliser dans ta classe directement.
Voici un tutoriel de la classe Scanner :
http://www.javafr.com/tutoriaux/CLASSE-SCANNER_514.aspx
On a pas besoin de l'importer car elle n'est pas utiliser dans ta classe directement.
Voici un tutoriel de la classe Scanner :
http://www.javafr.com/tutoriaux/CLASSE-SCANNER_514.aspx
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
23 mars 2009 à 16:38
23 mars 2009 à 16:38
La classe scanner est apparue depuis la version 1.5, voilà pourquoi elle n'est pas super connue. Mais, elle est recommandée et simple d'utilisation.
Premier lien que j'ai trouvé par une simple recherche : http://www.javafr.com/tutoriaux/CLASSE-SCANNER_514.aspx
Il doit y en avoir des plus complets (je ne l'ai pas lu).
Sinon la référence : https://docs.oracle.com/javase/6/docs/api/java/util/Scanner.html
g peu l'utilisé ds toute mes saisies clavier?
Oui.
Premier lien que j'ai trouvé par une simple recherche : http://www.javafr.com/tutoriaux/CLASSE-SCANNER_514.aspx
Il doit y en avoir des plus complets (je ne l'ai pas lu).
Sinon la référence : https://docs.oracle.com/javase/6/docs/api/java/util/Scanner.html
g peu l'utilisé ds toute mes saisies clavier?
Oui.
patriot01
Messages postés
60
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
21 avril 2014
6
23 mars 2009 à 16:49
23 mars 2009 à 16:49
merci a vous deux vous etes tro gentils
je vai voir les tutaux sur ces sites
di g peu avoir vos mails en cas de bug ds la programmation g vous envoi l'algo
je vai voir les tutaux sur ces sites
di g peu avoir vos mails en cas de bug ds la programmation g vous envoi l'algo