Programmation java

Fermé
nicole - 19 mai 2004 à 10:18
JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 - 26 mai 2004 à 12:58
Bonjour, j'ai écrit ce code mais j'aimerai que pour une valeur impossible de T, le code revienne au début pour me redemander une nouvelle valeur de T.

merci
voici mon code:

public static String lireString()
{String ligne_lue = null ;
try {InputStreamReader lecteur = new InputStreamReader(System.in);
BufferedReader entree = new BufferedReader(lecteur);
ligne_lue = entree.readLine();
}
catch (IOException err)
{System.exit(0) ;
}
return ligne_lue ;
}

public static int lireInt()
{int T = 0; // valeur a lire
try {String ligne_lue = lireString();
T = Integer.parseInt(ligne_lue);
}
catch (NumberFormatException err)
{System.out.println ("*** Erreur de donnee ***");
System.exit(0);
}
return T;
}

public monprojet()
{System.out.print ("Entrez T=");
T = monprojet.lireInt();
Tinitial=T;
A voir également:

1 réponse

JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
19 mai 2004 à 11:03
Bonjour ou Bonsoir,

D'apres moi quand tu traites une erreur (dans ton catch) il te suffit de rappeler la fonction lireInt().

voili voilou.

JSS
0
J'avais penséà faire ça mais je ne sais pas rappeler le lireint().
Comment ferais tu?
merci
0
JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
19 mai 2004 à 11:10
Bonjour ou Bonsoir,


Moi je ferais ca :

public static int lireInt()
{int T = 0; // valeur a lire
try {String ligne_lue = lireString();
T = Integer.parseInt(ligne_lue);
}
catch (NumberFormatException err)
{System.out.println ("*** Erreur de donnee ***");
lireInt(); //rajout de l'appel a lireInt dans le cas d'une erreur
}
catch (Exception e) // traitement de toutes les autres erreurs possibles
{System.out.println ("*** Erreur de donnee ***");
System.exit(0);
}

return T;
}

JSS
0
nicole > JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004
19 mai 2004 à 13:01
Bonour JSS, j'ai suivi tes indications ça compile juste ça exécute juste mais quand je rentre au clavier une valeur impossible de T, il m'écrit erreur de donnée mais rien de plus j'appuie sur entrée et il écrit toujours la même chose .Qu'est ce que je peux y faire?
merci
0
JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32 > JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004
19 mai 2004 à 13:35
Bonjour ou Bonsoir,

Avec ca :

public static int lireInt()
{int T = 0; // valeur a lire
try {
System.out.println("Veuillez saisir un nombre");
String ligne_lue = lireString();
T = Integer.parseInt(ligne_lue);
}
catch (NumberFormatException err)
{System.out.println ("*** Erreur de donnee ***");
return lireInt(); //rajout de l'appel a lireInt dans le cas d'une erreur
}

return T;
}

Qu'est ce que ca t'affiche ?

JSS
0
nicole > JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004
19 mai 2004 à 13:51
ça marche, Merci pour ton aide!
0