[{"data":1,"prerenderedAt":828},["ShallowReactive",2],{"navigation_docs":3,"-ejemplos-ejemplo-01":412,"-ejemplos-ejemplo-01-surround":823},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":327,"body":414,"description":816,"extension":817,"links":818,"meta":819,"navigation":820,"path":328,"seo":821,"stem":329,"__hash__":822},"docs\u002F8.ejemplos\u002F01.ejemplo-01.md",{"type":415,"value":416,"toc":813},"minimark",[417,426,771,782,795,800,803,809],[418,419,420,421,425],"p",{},"Supongamos que queremos crear una clase que nos permita validar si una entrada de usuario es un número entero utilizando ",[422,423,424],"code",{},"JOptionPane",". A continuación, se muestra un ejemplo de cómo podríamos implementar esta funcionalidad:",[427,428,433],"pre",{"className":429,"code":430,"language":431,"meta":432,"style":432},"language-java shiki shiki-themes github-dark","import javax.swing.JOptionPane;\n\npublic class ValidadorEntrada {\n\n    public static int validarEntrada() {\n        int numero = 0;\n        boolean entradaValida = false;\n\n        while (!entradaValida) {\n            String entrada = JOptionPane.showInputDialog(\"Ingrese un número entero:\");\n\n            try {\n                numero = Integer.parseInt(entrada);\n                entradaValida = true; \u002F\u002F La entrada es válida, salimos del ciclo\n            } catch (NumberFormatException e) {\n                JOptionPane.showMessageDialog(null, \"Entrada no válida. Por favor, ingrese un número entero.\");\n            }\n        }\n\n        return numero;\n    }\n    \n    void main(String[] args) {\n        int numeroValido = validarEntrada();\n        JOptionPane.showMessageDialog(null, \"Número ingresado: \" + numeroValido);\n    }\n}\n","java","",[422,434,435,448,455,471,476,494,513,529,534,549,573,578,586,603,621,640,662,668,674,679,688,694,700,722,737,760,765],{"__ignoreMap":432},[436,437,440,444],"span",{"class":438,"line":439},"line",1,[436,441,443],{"class":442},"snl16","import",[436,445,447],{"class":446},"s95oV"," javax.swing.JOptionPane;\n",[436,449,451],{"class":438,"line":450},2,[436,452,454],{"emptyLinePlaceholder":453},true,"\n",[436,456,458,461,464,468],{"class":438,"line":457},3,[436,459,460],{"class":442},"public",[436,462,463],{"class":442}," class",[436,465,467],{"class":466},"svObZ"," ValidadorEntrada",[436,469,470],{"class":446}," {\n",[436,472,474],{"class":438,"line":473},4,[436,475,454],{"emptyLinePlaceholder":453},[436,477,479,482,485,488,491],{"class":438,"line":478},5,[436,480,481],{"class":442},"    public",[436,483,484],{"class":442}," static",[436,486,487],{"class":442}," int",[436,489,490],{"class":466}," validarEntrada",[436,492,493],{"class":446},"() {\n",[436,495,497,500,503,506,510],{"class":438,"line":496},6,[436,498,499],{"class":442},"        int",[436,501,502],{"class":446}," numero ",[436,504,505],{"class":442},"=",[436,507,509],{"class":508},"sDLfK"," 0",[436,511,512],{"class":446},";\n",[436,514,516,519,522,524,527],{"class":438,"line":515},7,[436,517,518],{"class":442},"        boolean",[436,520,521],{"class":446}," entradaValida ",[436,523,505],{"class":442},[436,525,526],{"class":508}," false",[436,528,512],{"class":446},[436,530,532],{"class":438,"line":531},8,[436,533,454],{"emptyLinePlaceholder":453},[436,535,537,540,543,546],{"class":438,"line":536},9,[436,538,539],{"class":442},"        while",[436,541,542],{"class":446}," (",[436,544,545],{"class":442},"!",[436,547,548],{"class":446},"entradaValida) {\n",[436,550,552,555,557,560,563,566,570],{"class":438,"line":551},10,[436,553,554],{"class":446},"            String entrada ",[436,556,505],{"class":442},[436,558,559],{"class":446}," JOptionPane.",[436,561,562],{"class":466},"showInputDialog",[436,564,565],{"class":446},"(",[436,567,569],{"class":568},"sU2Wk","\"Ingrese un número entero:\"",[436,571,572],{"class":446},");\n",[436,574,576],{"class":438,"line":575},11,[436,577,454],{"emptyLinePlaceholder":453},[436,579,581,584],{"class":438,"line":580},12,[436,582,583],{"class":442},"            try",[436,585,470],{"class":446},[436,587,589,592,594,597,600],{"class":438,"line":588},13,[436,590,591],{"class":446},"                numero ",[436,593,505],{"class":442},[436,595,596],{"class":446}," Integer.",[436,598,599],{"class":466},"parseInt",[436,601,602],{"class":446},"(entrada);\n",[436,604,606,609,611,614,617],{"class":438,"line":605},14,[436,607,608],{"class":446},"                entradaValida ",[436,610,505],{"class":442},[436,612,613],{"class":508}," true",[436,615,616],{"class":446},"; ",[436,618,620],{"class":619},"sAwPA","\u002F\u002F La entrada es válida, salimos del ciclo\n",[436,622,624,627,630,633,637],{"class":438,"line":623},15,[436,625,626],{"class":446},"            } ",[436,628,629],{"class":442},"catch",[436,631,632],{"class":446}," (NumberFormatException ",[436,634,636],{"class":635},"s9osk","e",[436,638,639],{"class":446},") {\n",[436,641,643,646,649,651,654,657,660],{"class":438,"line":642},16,[436,644,645],{"class":446},"                JOptionPane.",[436,647,648],{"class":466},"showMessageDialog",[436,650,565],{"class":446},[436,652,653],{"class":508},"null",[436,655,656],{"class":446},", ",[436,658,659],{"class":568},"\"Entrada no válida. Por favor, ingrese un número entero.\"",[436,661,572],{"class":446},[436,663,665],{"class":438,"line":664},17,[436,666,667],{"class":446},"            }\n",[436,669,671],{"class":438,"line":670},18,[436,672,673],{"class":446},"        }\n",[436,675,677],{"class":438,"line":676},19,[436,678,454],{"emptyLinePlaceholder":453},[436,680,682,685],{"class":438,"line":681},20,[436,683,684],{"class":442},"        return",[436,686,687],{"class":446}," numero;\n",[436,689,691],{"class":438,"line":690},21,[436,692,693],{"class":446},"    }\n",[436,695,697],{"class":438,"line":696},22,[436,698,699],{"class":446},"    \n",[436,701,703,706,709,711,714,717,720],{"class":438,"line":702},23,[436,704,705],{"class":442},"    void",[436,707,708],{"class":466}," main",[436,710,565],{"class":446},[436,712,713],{"class":442},"String",[436,715,716],{"class":446},"[] ",[436,718,719],{"class":635},"args",[436,721,639],{"class":446},[436,723,725,727,730,732,734],{"class":438,"line":724},24,[436,726,499],{"class":442},[436,728,729],{"class":446}," numeroValido ",[436,731,505],{"class":442},[436,733,490],{"class":466},[436,735,736],{"class":446},"();\n",[436,738,740,743,745,747,749,751,754,757],{"class":438,"line":739},25,[436,741,742],{"class":446},"        JOptionPane.",[436,744,648],{"class":466},[436,746,565],{"class":446},[436,748,653],{"class":508},[436,750,656],{"class":446},[436,752,753],{"class":568},"\"Número ingresado: \"",[436,755,756],{"class":442}," +",[436,758,759],{"class":446}," numeroValido);\n",[436,761,763],{"class":438,"line":762},26,[436,764,693],{"class":446},[436,766,768],{"class":438,"line":767},27,[436,769,770],{"class":446},"}\n",[418,772,773,774,777,778,781],{},"En este ejemplo, la clase ",[422,775,776],{},"ValidadorEntrada"," contiene un método ",[422,779,780],{},"validarEntrada()"," que solicita al usuario que ingrese un número entero a través de un cuadro de diálogo. Si el usuario ingresa una entrada no válida (es decir, algo que no se puede convertir a un número entero), se muestra un mensaje de error y se le pide que intente nuevamente. El proceso se repite hasta que el usuario ingresa una entrada válida, momento en el cual el número ingresado se devuelve y se muestra en otro cuadro de diálogo.",[418,783,784,785,788,789,791,792,794],{},"En el método ",[422,786,787],{},"main",", se llama a ",[422,790,780],{}," para obtener un número válido y luego se muestra ese número al usuario. Este ejemplo demuestra cómo utilizar ",[422,793,424],{}," para manejar la entrada del usuario y validar que sea un número entero, proporcionando una experiencia de usuario amigable.",[796,797,799],"h2",{"id":798},"extendiendo-el-ejemplo","Extendiendo el ejemplo",[418,801,802],{},"Podemos extender este ejemplo para validar diferentes tipos de entradas, como números decimales o cadenas de texto, utilizando métodos similares y manejando las excepciones correspondientes. Además, podríamos agregar opciones para que el usuario elija qué tipo de entrada desea validar, haciendo el programa más versátil y útil en diferentes contextos.",[418,804,805,806,808],{},"Por lo que en futuras actividades crearemos una librería de validación de entradas que pueda manejar múltiples tipos de datos y proporcionar retroalimentación adecuada al usuario mediante ",[422,807,424],{}," y clases génericas.",[810,811,812],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":432,"searchDepth":450,"depth":450,"links":814},[815],{"id":798,"depth":450,"text":799},"En este ejemplo, se muestra cómo utilizar JOptionPane para validar entradas de usuario en un programa Java.","md",null,{"editButton":42},{"icon":105},{"title":327,"description":816},"3xx6DGZSis-_i5uGwYd7qgj8Ferq4u2Jw-R_ev38DQc",[824,826],{"title":317,"path":318,"stem":319,"description":825,"children":-1},"En esta quinta entrega hablaremos del uso de imágenes en Swing",{"title":331,"path":332,"stem":333,"description":827,"children":-1},"En este ejemplo, se muestra cómo utilizar clases genéricas en Java para crear una clase de lista personalizada que puede almacenar cualquier tipo de datos.",1779479576584]