1. La validación de un formulario de registro
Medio · Generación de Interfaces Gráficas · apuntesdam.com/subject/desarrollo-interfaces/topic/generacion-interfaces
Antes de habilitar el botón «Registrar», una interfaz valida cada campo y muestra un mensaje junto a él. Cada línea de la entrada es «campo=valor» (nombre, email, edad, clave y repetir; puede faltar alguno, y entonces vale vacío). Comprueba, en este orden: nombre obligatorio («nombre: es obligatorio») y de al menos 2 caracteres («nombre: debe tener al menos 2 caracteres»); email con formato algo@algo.dominio, con al menos 2 letras en el dominio («email: formato no válido»); edad entera («edad: debe ser un número entero») entre 18 y 120 («edad: debe estar entre 18 y 120»); clave con al menos 8 caracteres, una mayúscula y un número («clave: necesita 8 caracteres, una mayúscula, un número», con solo lo que falte); y repetir igual a clave («repetir: las contraseñas no coinciden»). Muestra cada error y al final «N errores: botón Registrar desactivado» («1 error» en singular), o «Formulario válido: botón Registrar activado».
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Map<String, String> campos = new LinkedHashMap<>(); while (sc.hasNextLine()) { String linea = sc.nextLine(); int i = linea.indexOf('='); if (i > 0) campos.put(linea.substring(0, i).trim(), linea.substring(i + 1).trim()); } // TODO: valida cada campo y muestra los errores como lo haría el formulario }}Ejemplo: Formulario correcto
Entrada
nombre=Lucía
email=lucia@correo.es
edad=19
clave=Segura123
repetir=Segura123Salida esperada
Formulario válido: botón Registrar activadoEjemplo: Varios errores
Entrada
nombre=L
email=lucia@correo
edad=17
clave=abc
repetir=abdSalida esperada
nombre: debe tener al menos 2 caracteres
email: formato no válido
edad: debe estar entre 18 y 120
clave: necesita 8 caracteres, una mayúscula, un número
repetir: las contraseñas no coinciden
5 errores: botón Registrar desactivado