El siguiente problema nos envía Yadair Guadalupe desde Facebook.
Diseñe un programa en java que despliegue una secuencia de números desde x a z, utilizando diferentes tipos de ciclos. Validar que x<=z, solo números enteros y no caracteres extraños. Se debe poder ingresar el valor de ‘x’ y ‘z’ separados por un espacio: 10 30.
Código
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | import java.util.Scanner; public class Ejemplo3 { public static int validarNumero(String cadena) { int numero; while(true) { try { numero = Integer.parseInt(cadena); // Convierte a entero break; // Corto el ciclo } catch (NumberFormatException e) { System.err.println("El texto ingresado no se puede convertir a número: " + cadena); } catch (ArrayIndexOutOfBoundsException e) { System.err.println("Debe ingresar dos números separados por un espacio (x y): " + cadena); } } return numero; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String cadena; int n1, n2; while (true) { System.out.print("Ingrese dos números separados por espacio (x y): "); cadena = sc.nextLine(); // Leemos la cadena ingresada por consola // Otenemos los números de la cadena y lo almacenamos en un arreglo String[] numeros = cadena.split(" "); // Para ello, nos apoyamos del método 'split' try { n1 = Integer.parseInt(numeros[0]); // Obtengo el primero número n2 = Integer.parseInt(numeros[1]); // Obtengo el segundo número if (n1 > 0 && n2 > 0) { if (n1 < n2) break; // Corto el ciclo else System.err.println(">>> El primer número debe ser menor que el segundo"); } else System.err.println(">>> Los números ingresados deben ser mayores a 0"); } catch (NumberFormatException e) { System.err.println(">>> Debe ingresar solo valores numericos"); } catch (ArrayIndexOutOfBoundsException e) { System.err.println(">>> Debe ingresar dos números separados por un espacio"); } } String repetir = ""; do { try { System.out.println("\n1. Para realizar despliegue mediante for" + "\n2. Para realizar despliegue mediante while" + "\n3. Para realizar despliegue mediante do-while"); int opcion = sc.nextInt(); if (opcion == 1) { System.out.print("(for) Los números son : "); // Imprimimos la secuencia de números for (int i = n1; i <= n2; i++) { System.out.print(i + " "); } } int termino = n1; if (opcion == 2) { System.out.print("(while) Los números son : "); while (termino <= n2) { System.out.print(termino + " "); termino++; } termino = 0; } if (opcion == 3) { System.out.print("(do-while) Los números son: "); do { System.out.print(termino + " "); termino++; } while (termino <= n2); } System.out.print("\n\n¿Desea repetir otra opción? (S/N): "); repetir = sc.next(); } catch (NumberFormatException nfe) { System.out.println("Debe ingresar solo números enteros: " + nfe); } catch (Exception ex) { System.out.println("Error al ingresar los números: " + ex); } } while (repetir.equalsIgnoreCase("S")); } } |
Programa
DESARROLLO TUS ALGORITMOS 🔥🔥
✅ 1. Envía tu algoritmo.
✅ 2. Indica en qué lenguaje de Programación lo deseas.
✅ 3. Para qué fecha lo quieres.
✅ 4. De que país eres (para tu forma de pago)
✅ 5. También se desarrollan al momento.
✅ 6. Los 3 primeros ejercicios son gratis.
🔸 Explico cada ejercicio que desarrollo en el código.
Cuenta Dcoder para más ejercicios de programación
Blog para novedades de programación
Tienda online para más recursos de programación
No hay comentarios, ¡cuéntame algo!
Me gustaría saber tu opinión. ¡Saludos!