Uso de clase Scanner

Ir abajo

Uso de clase Scanner

Mensaje  Admin (Viruz) el Dom Dic 23, 2012 11:09 am

Como vimos anteriormente con el paquete java.io existen clases que nos permiten leer datos mediante un dispositivo de entrada como lo es el teclado. Pero una clase que también nos ayudar a obtener datos de diferentes fuentes es la clase que veremos a continuación, esta es la clase Scanner el cual es un texto simple que puede analizar tipos primitivos y cadenas utilizando Expresiones Regulares.

Una de las tantas características de esta clase es que obtiene los datos tecleados finalizando con la tecla Enter, ahora veremos a detalle un poco más de dicha clase.
La clase Scanner que se introdujo a partir de java 5 tiene varias utilidades. Puede separar o romper su dato de entrada en subcadenas o “tokens” y además convertir estos datos en tipos primitivos como enteros, flotantes, etc. Por ejemplo, puedo pasarle un dato String como argumento al constructor, definir su patrón delimitador (por defecto: espacio en blanco) y obtener subcadenas cuyos miembros debo recoger uno a uno mediante el método next() o algunos de sus similares (nextInt(), nextByte().
Imágenes
[Tienes que estar registrado y conectado para ver esa imagen]
[Tienes que estar registrado y conectado para ver esa imagen]
Lo que se necesita conocer
¿Como funciona el programa?

  1. Se declara la clase Scanner y al crear el objeto se pasa de parámetro System.in.
  2. El método nextInt() nos indicará que mediante la tecla Enter finalizaremos la obtención de datos, mediante una bandera con un ciclo if() preguntaremos la opción que escogeremos.
  3. La comparación de números la haremos con los operadores lógicos que ya se conocen.
Código

Clase Main
public class Main {
public static void main(String args[]) {
new Comparacion();
}
}

Clase Comparacion
import java.util.Scanner;

public class Comparacion {
private Scanner entrada;
private int opcion;
private int numero, numero2;
private boolean band = true;

public Comparacion() {
entrada = new Scanner(System.in);
opcion();
}

private void opcion() {
System.out.println("1. Comparación de Números con Scanner");
System.out.println("0. Terminar");
System.out.print("Teclea la opción que desees: ");

opcion = entrada.nextInt();

if (opcion == 1) {
band = true;
comparacion(band);
} else if (opcion == 0) {
band = false;
comparacion(band);
} else {
System.out.println("Opción no válida");
band = false;
}
}

private void comparacion(boolean band) {
this.band = band;
while (this.band==true) {
try {

System.out.println("Escriba el Primer Número Entero y presione Enter ");
numero = entrada.nextInt();
System.out.println("Escriba el Segundo Número Entero y presione Enter ");
numero2 = entrada.nextInt();

if (numero==numero2) {
System.out.println("Los Números son Iguales");
System.out.println("*----------------------------------------------*\n\n");
opcion();
}
if (numero<numero2) {
System.out.println("El Número 1 es MENOR que el Número 2");
System.out.println("*----------------------------------------------*\n\n");
opcion();
}
if (numero>numero2) {
System.out.println("El Número 1 es MAYOR que el Número 2");
System.out.println("*----------------------------------------------*\n\n");
opcion();
}

} catch (Exception e) {
System.out.println("Es una letra o palabra");
}
}
System.exit(0);
}
}

Descarga el código
[Tienes que estar registrado y conectado para ver este vínculo]
Autor: Viruz study
Enlace: [Tienes que estar registrado y conectado para ver este vínculo]

_________________
[Tienes que estar registrado y conectado para ver esa imagen]
avatar
Admin (Viruz)
Admin

Mensajes : 148
Fecha de inscripción : 23/09/2012
Edad : 30
Localización : Desktop

http://viruz.foroactivo.mx

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.