ejercicios java
En Java hemos visto que cuando queremos almacenar un valor entero definimos una variable de tipo int, si queremos almacenar un valor con decimales definimos una variable de tipo float. Ahora si queremos almacenar una cadena de caracteres (por ejemplo un nombre de una persona) debemos definir un objeto de la clase String.
Más adelante veremos en profundidad ydetenimiento los conceptos de CLASE y OBJETO, por ahora solo nos interesa la mecánica para trabajar con cadenas de caracteres.
Problema 1:
Solicitar el ingreso del nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad.
Programa:
import java.util.Scanner;
public class CadenaDeCaracteres1 {
public static void main(String[] ar) {
Scanner teclado=newScanner(System.in);
String nombre1,nombre2;
int edad1,edad2;
System.out.print("Ingrese el nombre:");
nombre1=teclado.next();
System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el nombre:");
nombre2=teclado.next();
System.out.print("Ingrese edad:");
edad2=teclado.nextInt();System.out.print("La persona de mayor edad es:");
if (edad1>edad2) {
System.out.print(nombre1);
} else {
System.out.print(nombre2);
}
}
}
Para almacenar un nombre debemos definir una variable de tipo String y su ingreso por teclado se hace llamando al método next() del objeto teclado:
nombre1=teclado.next();
La primerasalvedad que tenemos que hacer cuando utilizamos el método next() es que solo nos permite ingresar una cadena de caracteres con la excepción del espacio en blanco (es decir debemos ingresar un nombre de persona y no su nombre y apellido separado por un espacio en blanco)
Veamos que existe otro método llamado nextLine() que nos permite cargar espacios en blanco pero para su uso se complica cuandocargamos otras valores de tipo distinto a String (por ejemplo int, float etc.)
Problema 2:
Solicitar el ingreso del apellido, nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad. Realizar la carga del apellido y nombre en una variable de tipo String.
Programa:
import java.util.Scanner;
public class CadenaDeCaracteres2 {
public static void main(String[] ar) {Scanner teclado=new Scanner(System.in);
String apenom1,apenom2;
int edad1,edad2;
System.out.print("Ingrese el apellido y el nombre:");
apenom1=teclado.nextLine();
System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el apellido y el nombre:");
teclado.nextLine();apenom2=teclado.nextLine();
System.out.print("Ingrese edad:");
edad2=teclado.nextInt();
System.out.print("La persona de mayor edad es:");
if (edad1>edad2) {
System.out.print(apenom1);
} else {
System.out.print(apenom2);
}
}
}
Cuando se ingresa una cadena con caracteres en blanco debemos tener en cuenta en llamar al métodonextLine()
Una dificultad se presenta si llamamos al método nextLine() y previamente hemos llamado al método nextInt(), esto debido a que luego de ejecutar el método nextInt() queda almacenado en el objeto de la clase Scanner el caracter "Enter" y si llamamos inmediatamente al método nextLine() este almacena dicho valor de tecla y continúa con el flujo del programa. Para solucionar este problema debemosgenerar un código similar a:
System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el apellido y el nombre:");
teclado.nextLine();
apenom2=teclado.nextLine();
Como vemos llamamos al método nextLine() dos veces, la primera retorna la tecla "Enter" y la segunda se queda esperando que ingresemos el apellido y nombre (tener...
Regístrate para leer el documento completo.