Entrada y Salida en JAVA por Consola.
domingo, 23 de agosto de 2009
En la historia de Java, han existido diversas formas de realizar la entrada y salida por Consola. En esta oportunidad veremos las últimas 3, y nos quedaremos con la que se usa en Java 5, que corresponde a Scanner. Realizaremos el mismo ejemplo que consiste en obtener el perímetro y área de un Círculo.
1. Java 1.4
Para Java 1.4 se utilizaba una mezcla entre BufferedReader e InputStreamReader.
Ejemplo:
package geometria;
import java.io.*;
public class Circulo {
public static void main(String[] args) throws java.io.IOException {
BufferedReader entrada = new BufferedReader(
new InputStreamReader(System.in));
double r, area, perimetro;
System.out.print("Ingrese radio: ");
r = Double.valueOf(entrada.readLine()).doubleValue();
area = Math.PI*Math.pow(r, 2.0);
perimetro = 2.0 * Math.PI * r;
System.out.println("Area =" + area);
System.out.println("Perimetro=" + perimetro);
}
}
2. Java 5
Se usa la Clase Scanner disponible en java.util.
package geometria;
import java.util.*;
public class Circulo {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in));
double r, area, perimetro;
System.out.print("Ingrese radio: ");
r = entrada.nextDouble();
area = Math.PI*Math.pow(r, 2.0);
perimetro = 2.0 * Math.PI * r;
System.out.println("Area =" + area);
System.out.println("Perimetro=" + perimetro);
}
}
3. Java 6.
Se pueden usar las formas anteriores, pero apareció la clase Console.
package geometria;
import java.io*;
public class Circulo {
public static void main(String[] args) {
Console consola = System.console();
double r, area, perimetro;
r = Double.valueOf(consola.readLine("Ingrese radio: "));
area = Math.PI*Math.pow(r, 2.0);
perimetro = 2.0 * Math.PI * r;
consola.printf("Area =%f", area);
consola.printf("Perimetro =%f", perimetro);
}
}
Personalmente me quedo con la clase Scanner, ya que no hay que estar realizando conversiones. Además es más fácil realizar validaciones sobre la entrada.
Publicado porfwsp en 5:17
0 comentarios:
Suscribirse a:
Enviar comentarios (Atom)
