crea un código de registrar una nota, en base a la siguiente información: Primeramente ingresar lo siguiente: Cedula del estudiante, con su respectiva cantidad de números. si es incorrecto, que de error y volver a intentarlo. al igual si se digita letras. Código de Materia, que tenga 5 caracteres, si es incorrecto, que de error y volver a intentarlo.al igual si se digita letras. Nota obtenida, que tenga solamente números entre el 1 al 100 y que de error si se digita letras Operación para realizar: Una vez registrada la nota, el sistema debe presentar una leyenda que indique si ha ganado el curso [mayor a 69], si ha reprobado [menor a 65] o tiene opción de realizar examen extraordinario [mayor o igual a 65 pero menor a 69 ].
Aquí te dejo un ejemplo de código en Java que cumple con las especificaciones que me proporcionaste: ```java import java.util.InputMismatchException; import java.util.Scanner; public class RegistrarNota { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean continuar = true; while (continuar) { System.out.println("Ingrese la cédula del estudiante:"); String cedula = scanner.nextLine(); while (!esValidaCedula(cedula)) { System.out.println("Error: La cédula debe ser un número de 10 dígitos. Por favor, ingrese nuevamente."); cedula = scanner.nextLine(); } System.out.println("Ingrese el código de materia (5 caracteres):"); String codigoMateria = scanner.nextLine(); while (!esValidoCodigoMateria(codigoMateria)) { System.out.println("Error: El código de materia debe ser un string de 5 caracteres. Por favor, ingrese nuevamente."); codigoMateria = scanner.nextLine(); } System.out.println("Ingrese la nota obtenida:"); String nota = scanner.nextLine(); while (!esValidaNota(nota)) { System.out.println("Error: La nota debe ser un número entre 1 y 100. Por favor, ingrese nuevamente."); nota = scanner.nextLine(); } int notaInt = Integer.parseInt(nota); String resultado = obtenerResultado(notaInt); System.out.println("Resultado: " + resultado); System.out.println("¿Desea registrar otra nota? (s/n)"); String respuesta = scanner.nextLine().toLowerCase(); if (!respuesta.equals("s")) { continuar = false; } } scanner.close(); } private static boolean esValidaCedula(String cedula) { return cedula.matches("\\d{10}"); } private static boolean esValidoCodigoMateria(String codigoMateria) { return codigoMateria.matches("[a-zA-Z0-9]{5}"); } private static boolean esValidaNota(String nota) { try { int notaInt = Integer.parseInt(nota); return notaInt >= 1 && notaInt <= 100; } catch (NumberFormatException e) { return false; } } private static String obtenerResultado(int nota) { if (nota < 65) { return "Ha reprobado el curso"; } else if (nota >= 65 && nota < 69) { return "Tiene opción de realizar examen extraordinario"; } else { return "Ha ganado el curso"; } } } ``` Este código utiliza un bucle `while` para permitir al usuario registrar múltiples notas. En cada iteración, se solicita la cédula del estudiante, el código de materia y la nota obtenida. Se validan cada uno de estos campos utilizando métodos `esValidaCedula`, `esValidoCodigoMateria` y `esValidaNota`. Si el campo no es válido, se muestra un mensaje de error y se solicita nuevamente. Una vez que se ingresa una nota válida, se calcula el resultado utilizando el método `obtenerResultado` y se muestra al usuario. Finalmente, se pregunta al usuario si desea registrar otra nota. Si la respuesta es "no", el bucle se cierra y el programa termina.