Documente Academic
Documente Profesional
Documente Cultură
ÍNDICE
1.- La clase InputStreamReader
2.- La clase Scanner
Antes de java 1.5, la forma de leer más fácilmente cosas que no sean bytes
(leer cadenas de texto o números), era usar las clases InputStreamReader y
BufferedReader conjuntamente. La primera es capaz de convertir esos bytes a
caracteres. La segunda es capaz de leer hasta un fin de línea. La forma de
instanciar estas clases para usarlas con System.in es la siguiente:
Con esto, podemos leer líneas completas usando el BufferedReaderbr. Así, por
ejemplo, escribimos una A, con
package ejercicios;
import java.io.*;
publicclassmensaje {
publicstaticvoid main(String[] arg) throwsIOException
{ {
InputStreamReaderisr =
newInputStreamReader(System.in);
BufferedReaderbr = newBufferedReader (isr);
System.out.print("Nombre: ");
String cadena = br.readLine();
System.out.print("Hola " + cadena);
}
}
}
1
SERVICIOS DE RED E INTERNET 2016/17
package ejercicios;
import java.io.*;
public class mensaje {
public static void main(String[] arg) throws IOException
{
{
InputStreamReaderisr = new
InputStreamReader(System.in);
BufferedReaderbr = new BufferedReader (isr);
System.out.print("Nombre: ");
String cadena = br.readLine();
System.out.println("Hola " + cadena);
System.out.print("Edad: ");
int edad = Integer.parseInt (br.readLine());
edad++;
System.out.print("El año que viene tendrás " + edad + "
años");
}
}
}
2
SERVICIOS DE RED E INTERNET 2016/17
Desde java 1.5 tenemos disponible para facilitarnos toda esta tarea, la clase
Scanner. Basta instanciar esta clase pasándole el System.in y a partir de ahí
tememos muchos métodos para obtener exactamente lo que queremos. Por
ejemplo, podemos leer la A así
package ejercicios;
import java.io.*;
importjava.util.*;
publicclassmensaje {
publicstaticvoid main(String[] arg) throwsIOException
{
{
Scanner sc = newScanner(System.in);
System.out.print("Nombre: ");
String cadena = sc.nextLine();
System.out.println("Hola " + cadena);
System.out.print("Edad: ");
intedad = sc.nextInt();
edad++;
System.out.print("El año que viene tendrás " + edad + "
años");
}
}
}
3
SERVICIOS DE RED E INTERNET 2016/17
Y el resultado sería
Esta clase admite radix en los formatos de números. Por defecto es base 10
pero podemos trabajar en Hexadecimal escribiendo el radix 16
package ejercicios;
import java.io.*;
importjava.util.*;
publicclassmensaje {
publicstaticvoid main(String[] arg) throwsIOException
{
{
Scanner sc = newScanner(System.in);