Introducción:
Bienvenidos, lo que estaremos trabajando es con la Clase Scanner ya que esta nos dará un mejor asesoramiento y mejores utilidades para la Entrada de datos por el teclado con un objeto de clase Scanner, (java.util.Scanner).
Objetivos Generales:
- Lograr emplear el Conocimiento tecnológico.
- Promover el / o tratado de la programación.
- Dar a conocer la Clase Scanner.
- Dar a entender ¿Que es? y ¿Como funciona?.
Indice:
Entrada de datos por teclado clase Scanner
La programación orientada a objetos se basa en la programación de clases; a diferencia de la programación estructurada, que está centrada en las funciones.
Una clase es un molde del que luego se pueden crear múltiples objetos, con similares características.
Una clase es una plantilla (molde), que define atributos (variables) y métodos (funciones)
La estructura de una clase es:
class [nombre de la clase] {
[atributos o variables de la clase]
[métodos o funciones de la clase]
[main]
}
Ejemplo No. 1:
import java.util.Scanner;
public class Persona {
private Scanner teclado;
private String nombre;
private int edad;
public void inicializar() {
teclado=new Scanner(System.in);
System.out.print("Ingrese nombre:");
nombre=teclado.next();
System.out.print("Ingrese edad:");
edad=teclado.nextInt();
}
public void imprimir() {
System.out.println("Nombre:"+nombre);
System.out.println("Edad:"+edad);
}
public void esMayorEdad() {
if (edad>=18) {
System.out.print(nombre+" es mayor de edad.");
} else {
System.out.print(nombre+" no es mayor de edad.");
}
}
public static void main(String[] ar) {
Persona persona1;
persona1=new Persona();
persona1.inicializar();
persona1.imprimir();
persona1.esMayorEdad();
}
}
El nombre de la clase debe hacer referencia al concepto (en este caso la hemos llamado Persona):public class Persona {Los atributos los definimos dentro de la clase pero fuera de la main:private Scanner teclado; private String nombre; private int edad;Veremos más adelante que un atributo es normalmente definido con la cláusula private (con esto no permitimos el acceso al atributo desde otras clases)A los atributos se tiene acceso desde cualquier función o método de la clase (salvo la main)Luego de definir los atributos de la clase debemos declarar los métodos o funciones de la clase. La sintaxis es parecida a la main (sin la cláusula static):public void inicializar() { teclado=new Scanner(System.in); System.out.print("Ingrese nombre:"); nombre=teclado.next(); System.out.print("Ingrese edad:"); edad=teclado.nextInt(); }En el método inicializar (que será el primero que deberemos llamar desde la main) creamos el objeto de la clase Scanner y cargamos por teclado los atributos nombre y edad. Como podemos ver el método inicializar puede hacer acceso a los tres atributos de la clase Persona. El segundo método tiene por objetivo imprimir el contenido de los atributos nombre y edad (los datos de los atributos se cargaron al ejecutarse previamente el método inicializar:public void imprimir() { System.out.println("Nombre:"+nombre); System.out.println("Edad:"+edad); }El tercer método tiene por objetivo mostrar un mensaje si la persona es mayor o no de edad:public void esMayorEdad() { if (edad>=18) { System.out.print(nombre+" es mayor de edad."); } else { System.out.print(nombre+" no es mayor de edad."); } }Por último en la main declaramos un objeto de la clase Persona y llamamos a los métodos en un orden adecuado:public static void main(String[] ar) { Persona persona1; persona1=new Persona(); persona1.inicializar(); persona1.imprimir(); persona1.esMayorEdad(); }Persona persona1; //Declaración del objeto persona1=new Persona(); //Creación del objeto persona1.inicializar(); //Llamada de un métodoEjemplo No. 2:
Desarrollar un programa que cargue los lados de un triángulo e implemente los siguientes métodos: inicializar los atributos, imprimir el valor del lado mayor y otro método que muestre si es equilátero o no.Programa:
import java.util.Scanner; public class Triangulo { private Scanner teclado; private int lado1,lado2,lado3; public void inicializar() { teclado=new Scanner(System.in); System.out.print("Medida lado 1:"); lado1=teclado.nextInt(); System.out.print("Medida lado 2:"); lado2=teclado.nextInt(); System.out.print("Medida lado 3:"); lado3=teclado.nextInt(); } public void ladoMayor() { System.out.print("Lado mayor:"); if (lado1>lado2 && lado1>lado3) { System.out.println(lado1); } else { if (lado2>lado3) { System.out.println(lado2); } else { System.out.println(lado3); } } } public void esEquilatero() { if (lado1==lado2 && lado1==lado3) { System.out.print("Es un triángulo equilátero"); } else { System.out.print("No es un triángulo equilátero"); } } public static void main(String []ar) { Triangulo triangulo1=new Triangulo(); triangulo1.inicializar(); triangulo1.ladoMayor(); triangulo1.esEquilatero(); } }Todos los problemas que requieran la entrada de datos por teclado debemos definir un atributo de la clase Scanner:private Scanner teclado;Este problema requiere definir tres atributos de tipo entero donde almacenamos los valores de los lados del triángulo:private int lado1,lado2,lado3;El primer método que deberá llamarse desde la main es el inicializar donde creamos el objeto de la clase Scanner y cargamos los tres atributos por teclado:public void inicializar() { teclado=new Scanner(System.in); System.out.print("Medida lado 1:"); lado1=teclado.nextInt(); System.out.print("Medida lado 2:"); lado2=teclado.nextInt(); System.out.print("Medida lado 3:"); lado3=teclado.nextInt(); }El método ladoMayor muestra el valor mayor de los tres enteros ingresados:public void ladoMayor() { System.out.print("Lado mayor:"); if (lado1>lado2 && lado1>lado3) { System.out.println(lado1); } else { if (lado2>lado3) { System.out.println(lado2); } else { System.out.println(lado3); } } }Como podemos observar cuando un problema se vuelve más complejo es más fácil y ordenado separar los distintos algoritmos en varios métodos y no codificar todo en la main.El último método de esta clase verifica si los tres enteros ingresados son iguales:public void esEquilatero() { if (lado1==lado2 && lado1==lado3) { System.out.print("Es un triángulo equilátero"); } else { System.out.print("No es un triángulo equilátero"); } }En la main creamos un objeto de la clase Triangulo y llamamos los métodos respectivos:public static void main(String []ar) { Triangulo triangulo1=new Triangulo(); triangulo1.inicializar(); triangulo1.ladoMayor(); triangulo1.esEquilatero(); }Links de Información:http://www.javaya.com.ar/detalleconcepto.php?codigo=87&inicio=Vídeo:Conclusiones:
- La Ventaja de este tipo de Clases de Java es la de la Clase Scanner ya que da la facilidad de introducir los datos desde el teclado de una forma mas fácil y mas instantánea para los usuarios de este programa.
- Para mi parecer es una sistema muy avanzado pero es mas fácil su utilidad ya que esto nos ayuda al desarrollamiento de habilidades en la programación y en la elaboración de programas.
- Esto cubre en el ámbito de computación muchas cosas ya que con esto también nos da la facilidad de emplear mas conocimientos científicos y físicos.