Ejercicios de Java Resueltos: Menú Interactivo, Bucles y Métodos Prácticos
Clasificado en Informática
Escrito el en
español con un tamaño de 6,41 KB
Implementación de Menú Interactivo y Funciones en Java
A continuación se presenta el código completo del ejercicio, con las correcciones ortográficas en los textos mostrados en consola, una indentación profesional y buenas prácticas en la convención de nombres de clases en Java.
Estructura del Proyecto y Métodos Implementados
El programa se divide en cuatro secciones principales:
- Menú principal: Controla el flujo general de navegación del usuario mediante un bucle do-while y captura de excepciones.
- Contador de números: Solicita un valor y ejecuta un conteo ascendente hasta el número diez.
- Concatenador de frases: Acumula palabras ingresadas por teclado hasta alcanzar una longitud mínima requerida.
- Calculadora avanzada: Realiza operaciones de suma, división, promedio y cálculo del valor máximo entre cinco números.
Código Fuente Corregido
import java.util.Scanner;
public class Ejercicio1 {
static Scanner teclado = new Scanner(System.in);
public static void main(String[] args) {
menuPrincipal();
}
public static void menuPrincipal() {
int opcion = 0;
boolean dist = false;
do {
System.out.println("***** Menú principal *****");
System.out.println("1. Contador de números");
System.out.println("2. Frase de una longitud determinada");
System.out.println("3. Calculadora avanzada");
System.out.println("4. Salir");
try {
opcion = teclado.nextInt();
teclado.nextLine();
switch (opcion) {
case 1:
int first = contadorNumeros();
break;
case 2:
String second = fraseLongitud();
break;
case 3:
calculadoraAvanzada();
break;
case 4:
System.out.println("Saliendo...");
break;
}
} catch (Exception e) {
System.out.println("Introduce un número válido");
teclado.nextLine();
}
} while (opcion != 4);
}
public static int contadorNumeros() {
int resultado = 0;
boolean dist = false;
do {
System.out.println("Introduce un número: ");
try {
resultado = teclado.nextInt();
dist = false;
} catch (Exception e) {
dist = true;
System.out.println("Introduce un número válido");
}
teclado.nextLine();
for (; resultado < 10; resultado++) {
System.out.println("El número es: " + resultado);
}
} while (dist == true);
return resultado;
}
public static String fraseLongitud() {
int resultado = 1;
String frase = "";
String res = "0";
do {
System.out.println("Introduce una palabra: ");
frase = frase + " " + teclado.nextLine();
resultado = frase.length();
} while (resultado < 12);
System.out.println("Su frase es: " + frase);
return res;
}
public static void calculadoraAvanzada() {
int primero = 1;
int segundo = 1;
int tercero = 1;
int cuarto = 1;
int quinto = 1;
int resultado = 1;
int opcion = 0;
int maximo1 = 0;
int maximo2 = 0;
int maximo3 = 0;
do {
System.out.println("1. Sumar");
System.out.println("2. Dividir");
System.out.println("3. Calcular media");
System.out.println("4. Mostrar máximo");
try {
System.out.println("Elige una opción --> ");
opcion = teclado.nextInt();
System.out.println("Escribe el primer número: ");
primero = teclado.nextInt();
System.out.println("Escribe el segundo número: ");
segundo = teclado.nextInt();
System.out.println("Escribe el tercer número: ");
tercero = teclado.nextInt();
System.out.println("Escribe el cuarto número: ");
cuarto = teclado.nextInt();
System.out.println("Escribe el quinto número: ");
quinto = teclado.nextInt();
switch (opcion) {
case 1:
resultado = primero + segundo + tercero + cuarto + quinto;
break;
case 2:
resultado = primero / segundo / tercero / cuarto / quinto;
break;
case 3:
resultado = (primero + segundo + tercero + cuarto + quinto) / 5;
break;
case 4:
maximo1 = Math.max(primero, segundo);
maximo2 = Math.max(tercero, cuarto);
maximo3 = Math.max(maximo2, maximo1);
resultado = Math.max(maximo3, quinto);
break;
}
} catch (Exception e) {
System.out.println("Elige una opción válida");
}
teclado.nextLine();
System.out.println("Resultado: " + resultado);
} while (opcion > 4 || opcion < 1);
}
}Correcciones Aplicadas
- Ortografía y tildes: Se corrigieron términos en los mensajes impresos como menú, números, opción, válido y máximo.
- Gramática en mensajes: Se ajustó la conjugación del verbo elegir (de elije a elige) y se expandieron abreviaturas ambiguas como longi det y opc valid.
- Convención de nombres: Se actualizó el nombre de la clase a
Ejercicio1siguiendo las normas habituales de CamelCase en Java. - Formato y legibilidad: Se ordenó la declaración de variables y la indentación de los bloques
try-catchy estructurasswitch-case.