Download ppt - DTIC

Document related concepts
no text concepts found
Transcript
Entrada y salida
Fundamentos de programación/Programación I
2007-2008
Pasar valores a un programa
• Dos maneras:
– Mediante la línea de comandos
– Mediante el flujo estándar de entrada
Línea de comandos
• Después del comando de ejecución, seguir con los
parámetros de entrada:
>java Hola Anders
¡Hola Anders!
>java Hola Felipe
¡Hola Felipe!
Línea de comandos
class Hola {
public static void main(String[] args) {
String s = “¡Hola ” + args[0] + “!”;
System.out.println(s);
}
}
>java Hola Anders
¡Hola Anders!
>java Hola
java.lang.ArrayIndexOutOfBoundsException: 0
at Hola.main(Hola.java:3)
Exception in thread “main” >Exit code: 1
Línea de comandos
class Personal {
public static void main(String[] args) {
System.out.println(“Nombre: ” + args[0]);
System.out.println(“Apellido: ” + args[1]);
System.out.println(“Edad: ” + args[2]);
}
}
>java Personal Felipe Sánchez 25
Nombre: Felipe
Apellido: Sánchez
Edad: 25
Conversión de String
• Convertir un String a un número entero:
String s = “15”;
int entero = Integer.parseInt(s);
• Convertir un String a un número real:
String s = “24.68”;
double real = Double.parseDouble(s);
Ejercicio
• Pasar dos números enteros a un programa mediante
la línea de comando, multiplicar los números y
mostrar el resultado en la pantalla
Flujos
• Un flujo (stream) es una conexión a un fuente o un
destino de datos
• Hemos visto como se puede imprimir un dato a la
pantalla mediante la instrucción
System.out.println()
• System.out es un ejemplo de un flujo estándar de
salida (outstream)
• También hay un flujo estándar de entrada (instream)
llamado System.in
Flujos
• Con el flujo estándar de entrada System.in sólo
podemos leer caracteres:
char c = (char)System.in.read();
• Para simplificar la entrada y salida de datos vamos a
utilizar un programa diseñado por David Eck llamado
TextIO.java
• Con TextIO.java se puede leer o escribir al flujo
estándar
El programa TextIO.java
•
•
•
•
Un programa para leer datos del teclado
También puede mostrar datos en la pantalla
Muy útil cuando quiere pedir información al usuario
Cuando se usa TextIO.java, se abra una ventana
nueva
• El usuario escribe sus datos en esta ventana
Uso de TextIO.java
• Para usar TextIO.java, guardar el archivo
TextIO.java en la misma carpeta que tus otros
programas
• Abrir TextIO.java en el editor de Java
• Pulsar a “Compilar”, pero no a “Go”
• Ahora está listo para uso
Funcionalidad de TextIO.java
• Para leer datos del teclado:
TextIO.getByte()
leer
TextIO.getShort()
leer
TextIO.getInt()
leer
TextIO.getLong()
leer
TextIO.getFloat()
leer
TextIO.getDouble() leer
TextIO.getChar()
leer
TextIO.getWord()
leer
TextIO.getln()
leer
TextIO.getBoolean() leer
un byte
un short
un int
un long
un float
un double
un char
una palabra (String)
toda la línea (String)
un boolean
Funcionalidad de TextIO.java
• Para mostrar datos en la pantalla:
TextIO.put(<dato>)
mostrar dato
TextIO.putln(<dato>)
mostrar y cambiar línea
Ejemplo
class Leer {
public static void main(String[] args) {
TextIO.put(“Entrar un entero: ”);
int num = TextIO.getInt();
TextIO.putln(“Has entrado ” + num);
TextIO.putln(“Cerrar la ventana”);
}
}
Ejemplo
Entrar un entero: 172
Has entrado 172
Cerrar la ventana
Ejemplo
Entrar un entero: 17286427523
***Error in input: Integer input outside of legal range
***Expecting: Integer in the range -2147483648 to 2147483647
***Discarding Input: (end-of-line)
Please re-enter: 15
Has entrado 15
Cerrar la ventana
Ejercicio
• Pedir al usuario el salario bruto por hora, las horas
trabajadas y la tasa de impuestos
• Calcular el salario neto
• Mostrar el resultado en la pantalla
Ejercicio
• Pedir al usuario un monto en euros
• Calcular el número mínimo de billetes necesarios para
pagar este monto
• Mostrar el resultado en la pantalla
• Billetes: 50€, 20€, 10€, 5€