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 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); while (true) { System.out.print("Ingrese la cédula del estudiante: "); String cedula = scanner.nextLine(); if (validarCedula(cedula)) { break; } else { System.out.println("Error: La cédula debe ser un número de 10 dígitos. Por favor, inténtelo de nuevo."); } } while (true) { System.out.print("Ingrese el código de materia (5 caracteres): "); String codigoMateria = scanner.nextLine(); if (validarCodigoMateria(codigoMateria)) { break; } else { System.out.println("Error: El código de materia debe ser un string de 5 caracteres. Por favor, inténtelo de nuevo."); } } while (true) { System.out.print("Ingrese la nota obtenida (número entre 1 y 100): "); String nota = scanner.nextLine(); if (validarNota(nota)) { break; } else { System.out.println("Error: La nota debe ser un número entre 1 y 100. Por favor, inténtelo de nuevo."); } } int notaInt = Integer.parseInt(nota); String resultado = obtenerResultado(notaInt); System.out.println("La nota del estudiante es: " + notaInt); System.out.println(resultado); } private static boolean validarCedula(String cedula) { if (cedula.length() != 10 || !cedula.matches("\\d+")) { return false; } return true; } private static boolean validarCodigoMateria(String codigoMateria) { if (codigoMateria.length() != 5 || !codigoMateria.matches("[a-zA-Z0-9]+")) { return false; } return true; } private static boolean validarNota(String nota) { try { int notaInt = Integer.parseInt(nota); if (notaInt < 1 || notaInt > 100) { return false; } } catch (NumberFormatException e) { return false; } return true; } private static String obtenerResultado(int nota) { if (nota >= 70) { 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 solicitar la cédula, código de materia y nota hasta que se ingrese un valor válido. Luego, utiliza un método `obtenerResultado` para determinar el resultado final basado en la nota obtenida.