Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
El código del interruptor de bucle no se repite pero ejecuta otro caso

Tengo un código de caja de interruptores que muestra un menú de cuatro opciones. Una vez que se completa una elección y su acción, se muestra el menú nuevamente. El último caso (cuarta opción) en el menú es salir. El código funciona perfectamente hasta que llego al final del caso 3, pero luego no vuelve a mostrar el menú y salta directamente a ejecutar el caso 4 y finaliza el programa.

(Para su información, soy muy nuevo en esto, así que gracias por su paciencia).

Aquí está el código:

 do { // Display the menu displayMenu(); // Ask the user for one option System.out.println("Enter a number: "); switch (scan.nextInt()) { // Define four cases for different options. Don't forget "break". case 1: System.out.print("Enter a number: "); sumInput = scan.nextInt(); while (sumStart <= sumInput) { sumResult += sumStart; sumStart++; } System.out.println("The sum of 1 to " + sumInput + " is: " + sumResult); break; case 2: System.out.print("Enter a number: "); facInput = scan.nextLong(); while(facStart <= facInput) { facResult = facResult*facStart; facStart++; } System.out.printf("%s %.0f %s %.0f %n", "The factorial of ", facInput , " is ", facResult); break; case 3: System.out.print("Enter a number: "); int left = scan.nextInt(); while(left >= 1) { String leftString = String.valueOf(left); System.out.print("The leftmost digit of " + left + " is "); System.out.println(leftString.charAt(0)); break; } case 4: System.out.print("Bye"); System.exit(0); } } while (option < 4);
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Creo que en el caso 3, ha dado una declaración de interrupción en su ciclo while. Intente eliminar la interrupción del ciclo while y agréguela después del ciclo.

 case 3: System.out.print("Enter a number: "); int left = scan.nextInt(); while(left >= 1) { String leftString = String.valueOf(left); System.out.print("The leftmost digit of " + left + " is "); System.out.println(leftString.charAt(0)); };break;
over 4 years ago · Santiago Trujillo Denunciar

0

Desea eliminar la declaración de break de su ciclo while para que no se interrumpa de inmediato:

 case 3: System.out.print("Enter a number: "); int left = scan.nextInt(); while(left >= 1) { String leftString = String.valueOf(left); System.out.print("The leftmost digit of " + left + " is "); System.out.println(leftString.charAt(0)); } break;
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda