Probleme avec mon algo (java)
Résolu
patriot01
-
patriot01 Messages postés 60 Date d'inscription Statut Membre Dernière intervention -
patriot01 Messages postés 60 Date d'inscription Statut Membre Dernière intervention -
bonjour tout le monde, je suis debutant en programmation j'ai cree un petit programme qui calcul le discriminant
mais j'ai probleme avec les saisies au clavier (System.in.read) voici mon programme sil vous plait corrigé la
"public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
System.in.read();
System.out.print("b= ");
System.in.read();
System.out.print("c= ");
System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
} "
Merci davance
mais j'ai probleme avec les saisies au clavier (System.in.read) voici mon programme sil vous plait corrigé la
"public class discriminant {
public static void main(String[] args){
double a,b,c,x1,x2,delta;
System.out.print("a= ");
System.in.read();
System.out.print("b= ");
System.in.read();
System.out.print("c= ");
System.in.read();
delta=(b*b)-(4*a*c);
System.out.println("Le discriminant est= "+delta);
}
} "
Merci davance
A voir également:
- Probleme avec mon algo (java)
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
15 réponses
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
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);
}
}
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)
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
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)
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"
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)
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
oui c'est exactemen ça
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");
}
}
}
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
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;
}
}
ç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
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
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.