180 likes | 456 Views
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:
E N D
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: 0atHola.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 un byte TextIO.getShort() leer un short TextIO.getInt() leer un int TextIO.getLong() leer un long TextIO.getFloat() leer un float TextIO.getDouble() leer un double TextIO.getChar() leer un char TextIO.getWord() leer una palabra (String) TextIO.getln()leer toda la línea (String) TextIO.getBoolean() leer 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€