Mon programme bug ,grrr

Signaler
Messages postés
50
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
21 juin 2004
-
Messages postés
1155
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 avril 2011
-
voilà, quand je lance mon prog, il bugue et je sais pas pourquoi, il a l'air de bloquer a ce moment là:

System.out.println("\n\n************************ MENU *************************");
System.out.println("* 1- Menuclient *");
System.out.println("* 2- Menu compte *");
System.out.println("* 3- Menu operation *");
System.out.println("* *");
System.out.println("* 0- Quitter *");
System.out.println("*******************************************************");
Choix = Lire.unEntier();
switch (Choix)

la classe lire.unentier correspond a ça:

// Lecture d'un entier
public static int unEntier()
{ String s=Lire.uneChaine();
try {
return Integer.parseInt(s.substring(0,s.length()-1));
}
catch (NumberFormatException e) {
return 0;
}
}

merci

9 réponses

Messages postés
1155
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 avril 2011
8
Salut,

quand tu dis qu'il bloque, il se passe quoi : freeze, erreur (laquelle) ... ?
Messages postés
50
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
21 juin 2004

il se passe rien il me met le menu et apres je ne peux pas faire de choix, j'ecris une lettre et rien ne se passe, pas d'erreur
Messages postés
50
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
21 juin 2004

il ne se passe rien, enfait le menu s'afffiche donc je met ma reponse mais ça fait rien, rien ne se passe ça s'arrete là
il y a pas de messages d'erreur.
Messages postés
50
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
21 juin 2004

désole pour le double message
Messages postés
1155
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 avril 2011
8
je sais pas si ça a un rapport mais je trouve bizarre les indices du substring : pourquoi jusqu'à la longueur de la chaine -1 ?
Sinon ton switch est correct, il fait bien tout se qu'il faut ...
Messages postés
50
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
21 juin 2004

enfait ce que je comprend pas c'est qu'avant mon programme marchait et depuis que je suis sur eclipse ça marche pas
Messages postés
27
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
10 juin 2004

Salut !
tu dis qu'il n'y a pas d'erreur mais dans ton code ya rien pour dire s'il y en a...
tu devrais ajouter ca :

catch (NumberFormatException e) {

System.out.println( e.getMessage() ); // ou du genre...

return 0;
}

Sinon, Si l'erreur viens de la ou tu le dis ... j'ai refait une partie qui retourne un entier... c du meme genre

////////*******////////////
InputStreamReader reader = new InputStreamReader (System.in);
char [] chaine = new char[20];
reader.read(chaine);
s = String.valueOf(chaine).replace('\n', (char)0) ;
int fin = s.indexOf((char)0);
int i= Integer.parseInt( s.substring(0 , fin) ,10);
/************/

Ici i a la valeur saisie....
si ca marche toujours pas alors c ton switch qui deconne surement..

Ou alors verifie que ton clavier est branché .... ;)

Pour kirua :
-1 à mon avis pour supprimer le retour chariot en fin de chaine '\n'
Messages postés
50
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
21 juin 2004

j'ai essayé de faire ce que tu me dis, mais le catch, il ne le reconnait pas, et si je met la partie qui remet un entier, il me met pleins d'erreur partout, il reconnait pas pleins de trucs.

je me demande si le probleme vient pas du logiciel plutot! car avant mon progamme marchait, sur un autre log?

quel est le logiciel le mieux pour faire du java?
merci de m'aider
Messages postés
1155
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
29 avril 2011
8
Cela m'étonnerait si Eclipse avait un problème. Je l'utilise depuis longtemps et je n'ai jamais eu de problème. A mon avis c'est l'un des meilleurs IDE pour Java.
J'ai fait un petit prog de test faisant la même chose que ton prog et ça marche très bien.
Passe en mode debug en mettant un point d'arrêt dans la méthode unEntier pour voir ce qu'il se passe.

Pour felipelvh :
Suppression du retour chariot ? pourquoi pas mais j'aurais pensé que la méthode une chaine renvoie une String sans le "\n" mais bon ...