Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
2410 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] Saisie au clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] Saisie au clavier

n°336096
HJ
Posté le 18-03-2003 à 10:15:36  profilanswer
 


j'arrive pas a utiliser ma méthode de saisie au clavier.
je voudrais simplement saisir un truc au clavier, et le réafficher ensuite.
 
 

Code :
  1. import java.io.*;
  2. public class Saisie {
  3. private static String saisie_;
  4. public static String saisie_string() throws IOException {
  5.  BufferedReader inr = new BufferedReader(new InputStreamReader(System.in));
  6.  //String s = inr.readLine();
  7.  return (inr.readLine());
  8. }
  9. public String getSaisie() {
  10.  saisie_ = saisie_string();
  11.  return saisie_;
  12. }
  13.         public static void main(String args[]) {
  14.  Saisie s1 = new Saisie();
  15.  System.out.println("Saisie du clavier:     "+s1.getSaisie());
  16.  }
  17. }


 

mood
Publicité
Posté le 18-03-2003 à 10:15:36  profilanswer
 

n°336124
souk
Tourist
Posté le 18-03-2003 à 10:31:34  profilanswer
 

a priori ca marche, il faut juste que tu catches l'IOException quelque part et ca roule

n°336127
bobuse
Posté le 18-03-2003 à 10:33:53  profilanswer
 

HJ a écrit :


j'arrive pas a utiliser ma méthode de saisie au clavier.
je voudrais simplement saisir un truc au clavier, et le réafficher ensuite.


C'est bien d'avoir mis ton code, en revanche pourrait expliciter le probleme :
erreur de compilation -> message
exception a l'exec -> message
 


---------------
get amaroK plugin
n°336209
R3g
fonctionnaire certifié ITIL
Posté le 18-03-2003 à 11:59:24  profilanswer
 

Je comprends pas bien le pourquoi du comment du mélange entre méthodes statiques/pas statiques ?

n°336224
bobuse
Posté le 18-03-2003 à 12:09:11  profilanswer
 

R3g a écrit :

Je comprends pas bien le pourquoi du comment du mélange entre méthodes statiques/pas statiques ?


Vu le niveau, moi je comprends.
La ou il en est, il se pose meme pas la question de savoir ce que c'est que le mot clé static. Il fait juste une tambouiille pour que ca compile  :D  
 
C'est pas pour etre mechant que je dis ca, je suis passe par la  :whistle:


---------------
get amaroK plugin
n°336227
bobuse
Posté le 18-03-2003 à 12:09:45  profilanswer
 

Ha oui tiens au passage :
 
 penserenjava.free.fr


---------------
get amaroK plugin
n°336276
HJ
Posté le 18-03-2003 à 12:57:29  profilanswer
 

oui, je débute en java.
 
Donc quand je compile, j'ai ça:
 


javac Saisie.java
 
Saisie.java:16: unreported exception java.io.IOException; must be caught or declared to be thrown
                saisie_ = saisie_string();

n°336290
R3g
fonctionnaire certifié ITIL
Posté le 18-03-2003 à 13:11:01  profilanswer
 

Bon IOException est une exception que tu es obligé de catcher. Donc tu dois mettres l'appel à saisie_string() dans un bloc try :

Code :
  1. public String getSaisie() {
  2.         try {
  3.             saisie_ = saisie_string();
  4.         } catch (IOException exc) {
  5.             saisie_ = "erreur de saisie";
  6.         }
  7.         return saisie_;
  8.      }


n°336291
HJ
Posté le 18-03-2003 à 13:14:57  profilanswer
 

génial !
c'etait tout bête en faite.
J'avais essayer le try & catch dans l'autre méthode mais ça ne marchait pas
 
merci bcp, ça marche !

n°336321
R3g
fonctionnaire certifié ITIL
Posté le 18-03-2003 à 13:45:03  profilanswer
 

HJ a écrit :

génial !
c'etait tout bête en faite.
J'avais essayer le try & catch dans l'autre méthode mais ça ne marchait pas
 
merci bcp, ça marche !
 


Tu peux aussi bien faire le try/catch dans saisie_string(), ca  depend du traitement que tu veux en faire. Mais dans ce cas, la clause throws est inutil dans la declaration de saisie_string() ; c'est à cause de ce throws que le compilateur t'oblge à catcher l'exception à l'appel de saisie_string().
Tu pourrais tout aussi bien déclarer getSaisie() throws IOException, et faire ton try/catch dans main().

mood
Publicité
Posté le 18-03-2003 à 13:45:03  profilanswer
 

n°336325
bobuse
Posté le 18-03-2003 à 13:48:03  profilanswer
 

tu peux aussi, mais la c'est vraiment bourrin, tapoter :
 

Code :
  1. public static void main(String args[]) throws Exception { ...

 
 
Mais c'est vraiment po bien  :D  
Mais bon quand tu veux faire du vite fait ... :whistle:  
 
[:neowen]


---------------
get amaroK plugin
n°336332
R3g
fonctionnaire certifié ITIL
Posté le 18-03-2003 à 13:52:37  profilanswer
 

bobuse a écrit :

tu peux aussi, mais la c'est vraiment bourrin, tapoter :
 

Code :
  1. public static void main(String args[]) throws Exception { ...

 
 
Mais c'est vraiment po bien  :D  
Mais bon quand tu veux faire du vite fait ... :whistle:  
 
[:neowen]


 :ouch: Ca marche ca ? j'ai jamais osé essayer.

n°336426
benou
Posté le 18-03-2003 à 15:18:42  profilanswer
 

ben oui ca marche.
 
et c'est bien mieux qu'un catch vide ou un catch qui fait n'imoprte quoi !!!  :o  
 
ca veut juste dire qu'au niveau le plus haut, tu ne sait pas quoi faire de cette exception ni comment la solutioner. Ca a rien de moche dans des petis progs

n°336472
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 18-03-2003 à 16:31:08  profilanswer
 

BAh sinon,
 
JE crois que tu peux faire comme ca aussi:
 

Citation :


import java.io.*;
 
class Clavier
 {
 static char readChar()
   {
    boolean erreur;
    String s;
 
    do {
          erreur=false;
          s=readString();
          if(s.length()!=1)
            {
             System.out.println("Taper 1 caractere, puis entree" );
             erreur=true;
            }
         }while(erreur);
    return s.charAt(0);
   }
 
  static int readInt()
   {
    boolean erreur;
    int n=0;
 
    do {
          erreur=false;
          try {
                n=Integer.parseInt(readString());
               }
         catch(NumberFormatException e)
              {
               System.out.println("Erreur de saisie, recommencez" );
              erreur=true;
              }
        }while(erreur);
    return n;
   }
  static double readDouble()
   {
    boolean erreur;
    double n=0;
 
    do {
          erreur=false;
          try {
                n=new Double(readString()).doubleValue();
               }
         catch(NumberFormatException e)
              {
               System.out.println("Erreur de saisie, recommencez" );
              erreur=true;
              }
        }while(erreur);
    return n;
   }
 
 static String readString()
  {
   byte b[]=new byte[256];
   int n=0;
   boolean erreur;
 
  do {
        erreur=false;
        try{
             n=System.in.read(b);
            }
        catch(IOException e)
           {
            System.out.println(e);
            erreur=true;
            }
       }while(erreur);
   return new String(b,0,n-2);
  }
 }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] Saisie au clavier

 

Sujets relatifs
[Java Servlet] Urgent ! Comment installer package javax.servlet ?[XML-DOM java] probleme surement tout bète!
explorer pas compatible java??Java et XML
[Java] Mini client smtpRecup d'evenement clavier et test...
[JAVA] finalize jamais appelée[Java] Session à null à cause d'un proxy
[Java] comment on fait une saisie au clavier a partir de la console?saisie clavier en JAVA
Plus de sujets relatifs à : [java] Saisie au clavier



Copyright © 1997-2014 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Avis LDLC / LesNumeriques.com