Prob programmation en java

Fermé
azertyse - 11 oct. 2009 à 14:44
 java4ever - 11 oct. 2009 à 19:32
Bonjour,ce programme est visé à lire 3 entiers puis affiche le plus petit
j'arrive pas à déterminer l'erreur , bon ..je kroi qu'elle est ds la methode " litInt()",
aidez moi svp !
A voir également:

3 réponses

j'ai oublié le code lool :pp
public class minimum
{
int litInt()
{
String s="";
BufferedReader b=new BufferedReader(new inputStreamReader(System.in));
try
{
s=b.readLine();
}
catch(java.io.IOException e)
{
System.out.print("Erreur de lecture");
System.exit(0);
}
return Integer.parseInt(s);
}
public static void main(String[] args)
{
int a,b,c,min;
minimum m = new minimum();
a= m.litInt();
b=m.litInt();
c=m.litInt();
min=m.litInt();
if(a>b)
{
min=b;
}
if(a<b)
{
min=a;
}
if (min>c)
{
min=c;
}
}

}
0
Bonjour,
Une question : as tu décrit globalement comment doit se comporter ta classe ?

Pour ma part, voilà comment je pense, à la lecture du code, que ta classe se comporte :
- la méthode main crée une nouvelle instance => OK
- on invoque 4 fois de suite la méthode memebre litInt() qui retourne une valeur entière saisie par l'utilisateur (pourquoir 4 ?... bon)
- les 4 résultats sont stockés dans les variables de type int : a, b, c et min
- On compare la première valeur, a à la deuxième, b et on met la plus petite dans min (tiens, pourquoi avoir demandé une valeur à l'utilisateur si on lui écrase sa saisie ?
- On compare la troisième valeur, c avec la valeur retenue précédamment (minimum de a et b) et on met la plus petie des 2 dans c => Ok
- A ce stade on a donc dans c la valeur minimum entre a, b et c soit les 3 premières valeurs saisies why not ?
- Par contre, l'utilisateur ne sera jamais informé du résultat de sa saisie puisqu'aucun affichage de résultat n'est effectué !
- En plus, il a saisi 4 valeurs, mais seulement 3 ont été prises en compte.
- Et de toute façon, si on regarde la méthode litInt, l'utilisateur n'a aucun message lui indiquant ce qu'il doit saisir, c'est à lui de deviner !

En conclusion :

- Avant d'écrire du code, je te conseille, amicalement bien sûr, de décrire le scénario vu de l'utilisateur du programme, ensuite, tu conçois la classe et les méthodes
- Essaie de faire du code adaptable : Si par exemple, je te dis, mais avec ton programme, comment je trouve le minimum de 4, 5 ou 6 valeurs ?
ou bien un nombre indéterminé de valeurs saisies où seul l'utilisateur décide du nombre de valeurs ?
C'est possible, et sans être forcément plus compliqué : il faut juste réfléchir un peu avant d'imaginer la solution finale !


Pour répondre à ta question, rajoute a moins un
 System.out.println("La valeur minimum des 3 premières valeurs saisies est : " + min);

Bon courage !
0
Re-bonjour et bonjour à Danimo que j'ai déjà rencontré sur ce forum !

Par contre, je trouve maladroit de poster le même message avec des titres différents :
en effet, tu poses le même problème dans un autre message, intitulé "problème en méthode java" et du coup, l'effet "forum" est diminué.
Si tu veux faire remonter ton message, utilise la technique du Up !

L'informatique est créative, mais pas fantaisiste, ni dilettante : Applique toi, et tout ira bien !
0