//
Premières lectures au clavier en Java (chaîne, numérique)
/** LectNum.java premières lectures au clavier
lecture d'une ligne (classe BufferedReader)
lecture d'une valeur numérique
lecture avec découpage des mots (classe InputStreamReader)
auteur: Roger Astier
*/
import java.io.*; // pour BufferedReader
import java.lang.*; // pour BufferedReader
public class LectNum {
//Méthode principale
public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
// Lecture d'une chaîne et d'un double
// (lecture de caractères avec tampon (classe BufferedReader))
BufferedReader ent = new BufferedReader (isr);
String ch;
try {
// Peut lire ligne vide
System.out.print("(BufferedReader) Une ligne à lire: ");
ch = ent.readLine();
System.out.println("nb.octets lus: "+ ch.length());
// Lecture d'une valeur numérique: les caractères d'abord
System.out.print("(BufferedReader) Un double: ");
ch = ent.readLine();
System.out.println("nb.octets lus: "+ ch.length());
// ... convertis en valeur numérique ensuite
Double dD = new Double(ch);
System.out.println("Double lu: "+ dD);
double dd = Double.parseDouble(ch);
System.out.println("double lu: "+ dd);
}
catch (Exception e) {
System.out.println("Dans bloc, "+e.getLocalizedMessage()+e.toString());
e.printStackTrace();
}
// Lecture de caractères sans tampon (classe InputStreamReader)
// un espace est remplacé par un
System.out.println("Codage: " + isr.getEncoding());
System.out.println("Lecture d'une ligne: ");
int c; char tc[] = new char[1];
try {
do {
c = isr.read(tc,0,1);
System.out.print(tc[0]);
if( java.lang.Character.isWhitespace(tc[0]) ) System.out.println();
} while( tc[0] != '\n');
}
catch (Exception e) {
System.out.println("Dans bloc, "+e.getLocalizedMessage()+e.toString());
e.printStackTrace();
}
arrêt();
}
// Affiche un mot et attend la frappe de R/C avant de terminer l'application
static void arrêt() {
byte aux[]=new byte[80];
try { System.out.print("\nFin > > > "); System.in.read(aux,0,80); }
catch (Exception e) { }
}
}
//fin LectNum.java