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 debe realizar examen extraordinario [mayor o igual a 65 pero menor a 69 ].
Aquí te muestro 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("La nota del estudiante es: " + notaInt); System.out.println(resultado); System.out.println("¿Desea registrar otra nota? (s/n)"); String respuesta = scanner.nextLine().toLowerCase(); while (!respuesta.equals("s") && !respuesta.equals("n")) { System.out.println("Error: Por favor, ingrese 's' para sí o 'n' para no."); respuesta = scanner.nextLine().toLowerCase(); } continuar = respuesta.equals("s"); } 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 > 69) { return "Ha ganado el curso."; } else if (nota < 65) { return "Ha reprobado el curso."; } else { return "Debe realizar examen extraordinario."; } } } ``` 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. Si el usuario ingresa algo inválido, se muestra un mensaje de error y se le pide que ingrese nuevamente. La función `esValidaCedula` verifica si la cédula es un número de 10 dígitos. La función `esValidoCodigoMateria` verifica si el código de materia es un string de 5 caracteres. La función `esValidaNota` verifica si la nota es un número entre 1 y 100. La función `obtenerResultado` devuelve una leyenda que indica si el estudiante ha ganado el curso, ha reprobado el curso o debe realizar examen extraordinario. Finalmente, se muestra una leyenda con el resultado de la nota y se le pide al usuario si desea registrar otra nota. Si el usuario ingresa 's', se repite el proceso. Si ingresa 'n', se cierra el programa.