4.Entrada/Salida básica
eugeniaperez.es
4. Entrada/Salida básica
Permite hacer programas algo más útiles que sean capaces de recibir una entrada variable en el momento de ejecución.
De esa forma podemos hacer que el mismo programa sirva para distintos parámetros, sin necesidad de reescribir el programa.
eugeniaperez.es
4. Entrada/Salida básica
Lo que se lee como argumento o por consola está en formato String:
eugeniaperez.es
int number = Integer.parseInt(args[0]);
short number = Short.parseShort(args[1]);
float number = Float.parseFloat(args[2]);
Argumentos recibidos. Empiezan en 0 y son correlativos. Van separados por un ' '
4. Entrada/Salida básica
Lo que se lee como argumento o por consola está en formato String:
eugeniaperez.es
boolean booleano = Boolean.parseBoolean(args[3]);
¿Y si necesitamos convertir a fecha?
Utilizaremos el SimpleDateFormat
4. Entrada/Salida básica
eugeniaperez.es
4. Entrada/Salida básica
En el momento de ejecutar el programa se le pasan unos valores al mismo: argumentos ,y son precisamente los que se asignan en la variable args de un programa principal:
eugeniaperez.es
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
4. Entrada/Salida básica
Esa variable args es un array de Strings. Es una estructura donde se guardan un conjunto de valores indexados numéricamente desde 0:
eugeniaperez.es
args
args[0]
4. Entrada/Salida básica
A la hora de ejecutar un programa, se le pueden pasar argumentos, por consola sería así:
eugeniaperez.es
4. Entrada/Salida básica
Al ejecutar por consola:
Ahí se pasan varios tipos de argumentos. Java los captura todos como String, y los almacena así:
eugeniaperez.es
java NombreClase “hola” 34 true 34.5
args[0] es “hola”
args[1] es “34”
etc…
Si accedemos por el índice:
4. Entrada/Salida básica
Para incluir argumentos en Eclipse antes de llevar a cabo la ejecución se usan la opción Run Configurations:
eugeniaperez.es
4. Entrada/Salida básica
Descarga el proyecto del repositorio ED.UT4.E/S.Argumentos :
Con Maven
https://eugenia_perez@bitbucket.org/eugenia_perez/ed.ut4.e-s.argumentos.git
Sin Maven
https://eugenia_perez@bitbucket.org/eugenia_perez/ed.ut4.e-s.argumentos2.git
eugeniaperez.es
4. Entrada/Salida básica
Este es la segunda forma de que el programa reciba valores o parámetros desde el exterior, solicitándolos al usuario:
eugeniaperez.es
4. Entrada/Salida básica
Existen distintas librerías para leer datos por pantalla. Veamos un par:
eugeniaperez.es
4. Entrada/Salida básica
Console
Utilizando la clase Console, creamos una instancia y ya podemos leer lo que el usuario introduce por teclado:
eugeniaperez.es
Console consola = System.console();
String lectura;
lectura = consola.readLine();
La clase Console es del paquete java.io, amacena dispositivos de e/s. Por lo tanto tendremos que importarlo: import java.io.*;
4. Entrada/Salida básica
Scanner
Nos permite la misma funcionalidad que Console y además es capaz de leer distintos tipos
eugeniaperez.es
Scanner readFromConsole = new Scanner(System.in);
String line = "";
System.out.println("Enter a byte:");
line = readFromConsole.nextLine();
byte simpleByte = Byte.parseByte(line);
System.out.println("You've introduced: " + simpleByte);
Scanner está incluida en java.util,
igualmente tenemos que importarlo:
import java.util.Scanner;
4. Entrada/Salida básica
Scanner
Permite leer directamente en función del tipo:
eugeniaperez.es
Scanner readFromConsole = new Scanner(System.in);
int edad;
float temperatura;
System.out.println("Por favor, introduce una temperatura con decimales (,): ");
temperatura = scan.nextFloat();
System.out.println("Por favor, introduce tu edad: ");
edad = scan.nextInt();
4. Entrada/Salida básica
Descarga el proyecto del repositorio ED.UT4.E/S.Entrada :
Con Maven:
https://eugenia_perez@bitbucket.org/eugenia_perez/ed.ut4.e-s.entrada.git
Sin Maven:
https://eugenia_perez@bitbucket.org/eugenia_perez/ed.ut4.e-s.entrada2.git
eugeniaperez.es