ed-b1 instalación y uso de entornos
UT 4: el lenguaje java
4.Entrada/Salida básica
eugeniaperez.es


UT 4: el lenguaje java

4. Entrada/Salida básica
INTRODUCCIÓN
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
conversión de string a otros tipos
Lo que se lee como argumento o por consola está en formato String:
- Si necesitamos convertir a número:

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 ' '
UT 4: el lenguaje java

4. Entrada/Salida básica
conversión de string a otros tipos
Lo que se lee como argumento o por consola está en formato String:
- Si necesitamos convertir a boolean:

eugeniaperez.es
boolean booleano = Boolean.parseBoolean(args[3]);
¿Y si necesitamos convertir a fecha?
Utilizaremos el SimpleDateFormat
UT 4: el lenguaje java

4. Entrada/Salida básica
¿Cómo recibimos argumentos en un programa...?
- A través de argumentos.
- Simplemente solicitando al usuario que introduzca valores en tiempo de ejecución.

eugeniaperez.es
UT 4: el lenguaje java

4. Entrada/Salida básica
paso de argumentos
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!" );
}
UT 4: el lenguaje java

4. Entrada/Salida básica
paso de argumentos
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]
UT 4: el lenguaje java

4. Entrada/Salida básica
paso de argumentos por consola
A la hora de ejecutar un programa, se le pueden pasar argumentos, por consola sería así:

eugeniaperez.es

UT 4: el lenguaje java

4. Entrada/Salida básica
paso de argumentos POR CONSOLA
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:
UT 4: el lenguaje java

4. Entrada/Salida básica
paso de argumentos en eclipse
Para incluir argumentos en Eclipse antes de llevar a cabo la ejecución se usan la opción Run Configurations:
- Menú Run As> Run configurations -> Program arguments:

eugeniaperez.es

UT 4: el lenguaje java

4. Entrada/Salida básica
paso de argumentos en eclipse
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
- Usuario: entornos_desarrollo
- Password: Entornos

eugeniaperez.es
UT 4: el lenguaje java

4. Entrada/Salida básica
lectura de valores por consola
Este es la segunda forma de que el programa reciba valores o parámetros desde el exterior, solicitándolos al usuario:
- Sacar un mensaje por pantalla solicitando un dato.
- Usar alguna clase específica para la lectura de datos por pantalla
- Tomar el dato y convertirlo si es preciso.

eugeniaperez.es
UT 4: el lenguaje java

4. Entrada/Salida básica
lectura de valores por consola
Existen distintas librerías para leer datos por pantalla. Veamos un par:
- Console
- Scanner

eugeniaperez.es
UT 4: el lenguaje java

4. Entrada/Salida básica
lectura de valores por consola
Console
Utilizando la clase Console, creamos una instancia y ya podemos leer lo que el usuario introduce por teclado:

eugeniaperez.es
UT 4: el lenguaje java
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
lectura de valores por consola
Scanner
Nos permite la misma funcionalidad que Console y además es capaz de leer distintos tipos

eugeniaperez.es
UT 4: el lenguaje java
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
lectura de valores por consola
Scanner
Permite leer directamente en función del tipo:

eugeniaperez.es
UT 4: el lenguaje java
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
lectura de valores por consola en eclipse
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
- Usuario: entornos_desarrollo
- Password: Entornos

eugeniaperez.es
UT 4: el lenguaje java
UT4. 4 Entrada/Salida
By eugenia_perez
UT4. 4 Entrada/Salida
- 1,325