Salut a tous,
alors voila j'ai recup une classe de lecture d'1 ligne (d'1 entier) au clavier, et comme a l'execution cette classe foire, je rebosse dessus car elle est vraiment pas top. Mais elle ne marche toujour pas. Au début je pensais a une erreur classique de flux non fermé (car il n'était pas fermé dans l'ancienne classe) mais mon erreur persiste...
donc je vous présente mes bouts de codes qui me posent problemes...
Code :
- private static BufferedReader keyboard=new BufferedReader(new InputStreamReader(System.in));
-
- private static String getLine() {
- String line;
- try{
-
- line=keyboard.readLine();
-
- }catch(IOException e)
- {
- return "";
- }
- return line;
- }
-
- public static int getInt()
- {
- int val;
- try{
- return Integer.parseInt(getLine());
- }
- catch(NumberFormatException e)
- {
- System.err.println("Error : Format Exception : " + e);
- return -1;
- }
- finally
- {
- close();
- }
- }
-
- private static void close()
- {
- try{
- keyboard.close();}
- catch(IOException ioe)
- {
- System.err.println("Error Closing stream" );
- }
- }
|
et donc voici comment je m'en sert dans une autre applet :
int tmp = NewKeyboard.getInt();
et ca me sort "null". Donc a prioris en regardant la doc et en faisant mes tests, l'erreur provient de
Code :
- line=keyboard.readLine();
|
qui remplit line a null. bon ok. mais pourquoi ?
Je n'ai meme pas le temps de rentrer quoique ce soit au clavier, le flux est deja remplit!!!!
merci a celui qui pourra me filer un coup de pied! euhhhhh un coup de main je voulais dire!
gian