[{"data":1,"prerenderedAt":1286},["ShallowReactive",2],{"navigation_docs":3,"-ejemplos-ejemplo-03":412,"-ejemplos-ejemplo-03-surround":1281},[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":335,"body":414,"description":1275,"extension":1276,"links":1277,"meta":1278,"navigation":565,"path":336,"seo":1279,"stem":337,"__hash__":1280},"docs\u002F8.ejemplos\u002F03.ejemplo-03.md",{"type":415,"value":416,"toc":1264},"minimark",[417,422,426,430,435,443,518,522,529,749,753,760,981,985,992,1042,1046,1049,1253,1257,1260],[418,419,421],"h2",{"id":420},"descripción-del-problema","Descripción del Problema",[423,424,425],"p",{},"Eres un desarrollador de software que necesita crear un programa en Java que maneje un conjunto de alimentos y sus categorías. Quieres utilizar enumeraciones (Enum) para definir las categorías de alimentos y manejar excepciones para gestionar errores como alimentos no encontrados o categorías inválidas.",[418,427,429],{"id":428},"solución","Solución",[431,432,434],"h3",{"id":433},"paso-1-crear-la-enumeración-enum","Paso 1: Crear la enumeración (Enum)",[423,436,437,438,442],{},"Primero, creamos una enumeración llamada ",[439,440,441],"code",{},"CategoriaAlimento"," que define las diferentes categorías de alimentos.",[444,445,450],"pre",{"className":446,"code":447,"language":448,"meta":449,"style":449},"language-java shiki shiki-themes github-dark","public enum CategoriaAlimento {\n    FRUTA,\n    VERDURA,\n    CARNE,\n    LACTEO,\n    GRANO\n}\n","java","",[439,451,452,472,482,490,498,506,512],{"__ignoreMap":449},[453,454,457,461,464,468],"span",{"class":455,"line":456},"line",1,[453,458,460],{"class":459},"snl16","public",[453,462,463],{"class":459}," enum",[453,465,467],{"class":466},"svObZ"," CategoriaAlimento",[453,469,471],{"class":470},"s95oV"," {\n",[453,473,475,479],{"class":455,"line":474},2,[453,476,478],{"class":477},"sDLfK","    FRUTA",[453,480,481],{"class":470},",\n",[453,483,485,488],{"class":455,"line":484},3,[453,486,487],{"class":477},"    VERDURA",[453,489,481],{"class":470},[453,491,493,496],{"class":455,"line":492},4,[453,494,495],{"class":477},"    CARNE",[453,497,481],{"class":470},[453,499,501,504],{"class":455,"line":500},5,[453,502,503],{"class":477},"    LACTEO",[453,505,481],{"class":470},[453,507,509],{"class":455,"line":508},6,[453,510,511],{"class":477},"    GRANO\n",[453,513,515],{"class":455,"line":514},7,[453,516,517],{"class":470},"}\n",[431,519,521],{"id":520},"paso-2-crear-la-clase-alimento","Paso 2: Crear la clase Alimento",[423,523,524,525,528],{},"Luego, creamos una clase ",[439,526,527],{},"Alimento"," que tiene un nombre y una categoría.",[444,530,532],{"className":446,"code":531,"language":448,"meta":449,"style":449},"public class Alimento {\n    private String nombre;\n    private CategoriaAlimento categoria;\n\n    public Alimento(String nombre, CategoriaAlimento categoria) {\n        this.nombre = nombre;\n        this.categoria = categoria;\n    }\n\n    public String getNombre() {\n        return nombre;\n    }\n\n    public CategoriaAlimento getCategoria() {\n        return categoria;\n    }\n\n    @Override\n    public String toString() {\n        return nombre + \" (\" + categoria + \")\";\n    }\n}\n",[439,533,534,546,554,561,567,590,604,616,622,627,641,649,654,659,672,679,684,689,698,710,739,744],{"__ignoreMap":449},[453,535,536,538,541,544],{"class":455,"line":456},[453,537,460],{"class":459},[453,539,540],{"class":459}," class",[453,542,543],{"class":466}," Alimento",[453,545,471],{"class":470},[453,547,548,551],{"class":455,"line":474},[453,549,550],{"class":459},"    private",[453,552,553],{"class":470}," String nombre;\n",[453,555,556,558],{"class":455,"line":484},[453,557,550],{"class":459},[453,559,560],{"class":470}," CategoriaAlimento categoria;\n",[453,562,563],{"class":455,"line":492},[453,564,566],{"emptyLinePlaceholder":565},true,"\n",[453,568,569,572,574,577,581,584,587],{"class":455,"line":500},[453,570,571],{"class":459},"    public",[453,573,543],{"class":466},[453,575,576],{"class":470},"(String ",[453,578,580],{"class":579},"s9osk","nombre",[453,582,583],{"class":470},", CategoriaAlimento ",[453,585,586],{"class":579},"categoria",[453,588,589],{"class":470},") {\n",[453,591,592,595,598,601],{"class":455,"line":508},[453,593,594],{"class":477},"        this",[453,596,597],{"class":470},".nombre ",[453,599,600],{"class":459},"=",[453,602,603],{"class":470}," nombre;\n",[453,605,606,608,611,613],{"class":455,"line":514},[453,607,594],{"class":477},[453,609,610],{"class":470},".categoria ",[453,612,600],{"class":459},[453,614,615],{"class":470}," categoria;\n",[453,617,619],{"class":455,"line":618},8,[453,620,621],{"class":470},"    }\n",[453,623,625],{"class":455,"line":624},9,[453,626,566],{"emptyLinePlaceholder":565},[453,628,630,632,635,638],{"class":455,"line":629},10,[453,631,571],{"class":459},[453,633,634],{"class":470}," String ",[453,636,637],{"class":466},"getNombre",[453,639,640],{"class":470},"() {\n",[453,642,644,647],{"class":455,"line":643},11,[453,645,646],{"class":459},"        return",[453,648,603],{"class":470},[453,650,652],{"class":455,"line":651},12,[453,653,621],{"class":470},[453,655,657],{"class":455,"line":656},13,[453,658,566],{"emptyLinePlaceholder":565},[453,660,662,664,667,670],{"class":455,"line":661},14,[453,663,571],{"class":459},[453,665,666],{"class":470}," CategoriaAlimento ",[453,668,669],{"class":466},"getCategoria",[453,671,640],{"class":470},[453,673,675,677],{"class":455,"line":674},15,[453,676,646],{"class":459},[453,678,615],{"class":470},[453,680,682],{"class":455,"line":681},16,[453,683,621],{"class":470},[453,685,687],{"class":455,"line":686},17,[453,688,566],{"emptyLinePlaceholder":565},[453,690,692,695],{"class":455,"line":691},18,[453,693,694],{"class":470},"    @",[453,696,697],{"class":459},"Override\n",[453,699,701,703,705,708],{"class":455,"line":700},19,[453,702,571],{"class":459},[453,704,634],{"class":470},[453,706,707],{"class":466},"toString",[453,709,640],{"class":470},[453,711,713,715,718,721,725,728,731,733,736],{"class":455,"line":712},20,[453,714,646],{"class":459},[453,716,717],{"class":470}," nombre ",[453,719,720],{"class":459},"+",[453,722,724],{"class":723},"sU2Wk"," \" (\"",[453,726,727],{"class":459}," +",[453,729,730],{"class":470}," categoria ",[453,732,720],{"class":459},[453,734,735],{"class":723}," \")\"",[453,737,738],{"class":470},";\n",[453,740,742],{"class":455,"line":741},21,[453,743,621],{"class":470},[453,745,747],{"class":455,"line":746},22,[453,748,517],{"class":470},[431,750,752],{"id":751},"paso-3-manejar-excepciones","Paso 3: Manejar excepciones",[423,754,755,756,759],{},"Ahora, creamos una clase ",[439,757,758],{},"AlimentoManager"," que maneja una lista de alimentos y utiliza excepciones para gestionar errores.",[444,761,763],{"className":446,"code":762,"language":448,"meta":449,"style":449},"import java.util.ArrayList;\nimport java.util.List;\n\npublic class AlimentoManager {\n    private List\u003CAlimento> alimentos;\n\n    public AlimentoManager() {\n        alimentos = new ArrayList\u003C>();\n    }\n\n    public void agregarAlimento(Alimento alimento) {\n        alimentos.add(alimento);\n    }\n\n    public Alimento buscarAlimento(String nombre) throws AlimentoNoEncontradoException {\n        for (Alimento alimento : alimentos) {\n            if (alimento.getNombre().equalsIgnoreCase(nombre)) {\n                return alimento;\n            }\n        }\n        throw new AlimentoNoEncontradoException(\"Alimento no encontrado: \" + nombre);\n    }\n}\n",[439,764,765,773,780,784,795,807,811,819,832,836,840,858,869,873,877,900,914,933,941,946,951,972,976],{"__ignoreMap":449},[453,766,767,770],{"class":455,"line":456},[453,768,769],{"class":459},"import",[453,771,772],{"class":470}," java.util.ArrayList;\n",[453,774,775,777],{"class":455,"line":474},[453,776,769],{"class":459},[453,778,779],{"class":470}," java.util.List;\n",[453,781,782],{"class":455,"line":484},[453,783,566],{"emptyLinePlaceholder":565},[453,785,786,788,790,793],{"class":455,"line":492},[453,787,460],{"class":459},[453,789,540],{"class":459},[453,791,792],{"class":466}," AlimentoManager",[453,794,471],{"class":470},[453,796,797,799,802,804],{"class":455,"line":500},[453,798,550],{"class":459},[453,800,801],{"class":470}," List\u003C",[453,803,527],{"class":459},[453,805,806],{"class":470},"> alimentos;\n",[453,808,809],{"class":455,"line":508},[453,810,566],{"emptyLinePlaceholder":565},[453,812,813,815,817],{"class":455,"line":514},[453,814,571],{"class":459},[453,816,792],{"class":466},[453,818,640],{"class":470},[453,820,821,824,826,829],{"class":455,"line":618},[453,822,823],{"class":470},"        alimentos ",[453,825,600],{"class":459},[453,827,828],{"class":459}," new",[453,830,831],{"class":470}," ArrayList\u003C>();\n",[453,833,834],{"class":455,"line":624},[453,835,621],{"class":470},[453,837,838],{"class":455,"line":629},[453,839,566],{"emptyLinePlaceholder":565},[453,841,842,844,847,850,853,856],{"class":455,"line":643},[453,843,571],{"class":459},[453,845,846],{"class":459}," void",[453,848,849],{"class":466}," agregarAlimento",[453,851,852],{"class":470},"(Alimento ",[453,854,855],{"class":579},"alimento",[453,857,589],{"class":470},[453,859,860,863,866],{"class":455,"line":651},[453,861,862],{"class":470},"        alimentos.",[453,864,865],{"class":466},"add",[453,867,868],{"class":470},"(alimento);\n",[453,870,871],{"class":455,"line":656},[453,872,621],{"class":470},[453,874,875],{"class":455,"line":661},[453,876,566],{"emptyLinePlaceholder":565},[453,878,879,881,884,887,889,891,894,897],{"class":455,"line":674},[453,880,571],{"class":459},[453,882,883],{"class":470}," Alimento ",[453,885,886],{"class":466},"buscarAlimento",[453,888,576],{"class":470},[453,890,580],{"class":579},[453,892,893],{"class":470},") ",[453,895,896],{"class":459},"throws",[453,898,899],{"class":470}," AlimentoNoEncontradoException {\n",[453,901,902,905,908,911],{"class":455,"line":681},[453,903,904],{"class":459},"        for",[453,906,907],{"class":470}," (Alimento alimento ",[453,909,910],{"class":459},":",[453,912,913],{"class":470}," alimentos) {\n",[453,915,916,919,922,924,927,930],{"class":455,"line":686},[453,917,918],{"class":459},"            if",[453,920,921],{"class":470}," (alimento.",[453,923,637],{"class":466},[453,925,926],{"class":470},"().",[453,928,929],{"class":466},"equalsIgnoreCase",[453,931,932],{"class":470},"(nombre)) {\n",[453,934,935,938],{"class":455,"line":691},[453,936,937],{"class":459},"                return",[453,939,940],{"class":470}," alimento;\n",[453,942,943],{"class":455,"line":700},[453,944,945],{"class":470},"            }\n",[453,947,948],{"class":455,"line":712},[453,949,950],{"class":470},"        }\n",[453,952,953,956,958,961,964,967,969],{"class":455,"line":741},[453,954,955],{"class":459},"        throw",[453,957,828],{"class":459},[453,959,960],{"class":466}," AlimentoNoEncontradoException",[453,962,963],{"class":470},"(",[453,965,966],{"class":723},"\"Alimento no encontrado: \"",[453,968,727],{"class":459},[453,970,971],{"class":470}," nombre);\n",[453,973,974],{"class":455,"line":746},[453,975,621],{"class":470},[453,977,979],{"class":455,"line":978},23,[453,980,517],{"class":470},[431,982,984],{"id":983},"paso-4-crear-la-excepción-personalizada","Paso 4: Crear la excepción personalizada",[423,986,987,988,991],{},"Finalmente, creamos una excepción personalizada llamada ",[439,989,990],{},"AlimentoNoEncontradoException"," para manejar el caso cuando un alimento no se encuentra en la lista.",[444,993,995],{"className":446,"code":994,"language":448,"meta":449,"style":449},"public class AlimentoNoEncontradoException extends Exception {\n    public AlimentoNoEncontradoException(String mensaje) {\n        super(mensaje);\n    }\n}\n",[439,996,997,1013,1026,1034,1038],{"__ignoreMap":449},[453,998,999,1001,1003,1005,1008,1011],{"class":455,"line":456},[453,1000,460],{"class":459},[453,1002,540],{"class":459},[453,1004,960],{"class":466},[453,1006,1007],{"class":459}," extends",[453,1009,1010],{"class":466}," Exception",[453,1012,471],{"class":470},[453,1014,1015,1017,1019,1021,1024],{"class":455,"line":474},[453,1016,571],{"class":459},[453,1018,960],{"class":466},[453,1020,576],{"class":470},[453,1022,1023],{"class":579},"mensaje",[453,1025,589],{"class":470},[453,1027,1028,1031],{"class":455,"line":484},[453,1029,1030],{"class":477},"        super",[453,1032,1033],{"class":470},"(mensaje);\n",[453,1035,1036],{"class":455,"line":492},[453,1037,621],{"class":470},[453,1039,1040],{"class":455,"line":500},[453,1041,517],{"class":470},[431,1043,1045],{"id":1044},"paso-5-usar-el-programa","Paso 5: Usar el programa",[423,1047,1048],{},"Ahora podemos usar el programa para agregar alimentos y buscar un alimento específico, manejando las excepciones adecuadamente.",[444,1050,1052],{"className":446,"code":1051,"language":448,"meta":449,"style":449},"void main() {\n    AlimentoManager manager = new AlimentoManager();\n    manager.agregarAlimento(new Alimento(\"Manzana\", CategoriaAlimento.FRUTA));\n    manager.agregarAlimento(new Alimento(\"Zanahoria\", CategoriaAlimento.VERDURA));\n    manager.agregarAlimento(new Alimento(\"Pollo\", CategoriaAlimento.CARNE));\n\n    try {\n        Alimento alimento = manager.buscarAlimento(\"Manzana\");\n        System.out.println(\"Alimento encontrado: \" + alimento);\n        \n        \u002F\u002F Intentar buscar un alimento que no existe\n        manager.buscarAlimento(\"Pera\");\n    } catch (AlimentoNoEncontradoException e) {\n        System.out.println(e.getMessage());\n    }\n}\n",[439,1053,1054,1064,1078,1101,1121,1141,1145,1152,1171,1189,1194,1200,1214,1230,1245,1249],{"__ignoreMap":449},[453,1055,1056,1059,1062],{"class":455,"line":456},[453,1057,1058],{"class":459},"void",[453,1060,1061],{"class":466}," main",[453,1063,640],{"class":470},[453,1065,1066,1069,1071,1073,1075],{"class":455,"line":474},[453,1067,1068],{"class":470},"    AlimentoManager manager ",[453,1070,600],{"class":459},[453,1072,828],{"class":459},[453,1074,792],{"class":466},[453,1076,1077],{"class":470},"();\n",[453,1079,1080,1083,1086,1088,1091,1093,1095,1098],{"class":455,"line":484},[453,1081,1082],{"class":470},"    manager.",[453,1084,1085],{"class":466},"agregarAlimento",[453,1087,963],{"class":470},[453,1089,1090],{"class":459},"new",[453,1092,543],{"class":466},[453,1094,963],{"class":470},[453,1096,1097],{"class":723},"\"Manzana\"",[453,1099,1100],{"class":470},", CategoriaAlimento.FRUTA));\n",[453,1102,1103,1105,1107,1109,1111,1113,1115,1118],{"class":455,"line":492},[453,1104,1082],{"class":470},[453,1106,1085],{"class":466},[453,1108,963],{"class":470},[453,1110,1090],{"class":459},[453,1112,543],{"class":466},[453,1114,963],{"class":470},[453,1116,1117],{"class":723},"\"Zanahoria\"",[453,1119,1120],{"class":470},", CategoriaAlimento.VERDURA));\n",[453,1122,1123,1125,1127,1129,1131,1133,1135,1138],{"class":455,"line":500},[453,1124,1082],{"class":470},[453,1126,1085],{"class":466},[453,1128,963],{"class":470},[453,1130,1090],{"class":459},[453,1132,543],{"class":466},[453,1134,963],{"class":470},[453,1136,1137],{"class":723},"\"Pollo\"",[453,1139,1140],{"class":470},", CategoriaAlimento.CARNE));\n",[453,1142,1143],{"class":455,"line":508},[453,1144,566],{"emptyLinePlaceholder":565},[453,1146,1147,1150],{"class":455,"line":514},[453,1148,1149],{"class":459},"    try",[453,1151,471],{"class":470},[453,1153,1154,1157,1159,1162,1164,1166,1168],{"class":455,"line":618},[453,1155,1156],{"class":470},"        Alimento alimento ",[453,1158,600],{"class":459},[453,1160,1161],{"class":470}," manager.",[453,1163,886],{"class":466},[453,1165,963],{"class":470},[453,1167,1097],{"class":723},[453,1169,1170],{"class":470},");\n",[453,1172,1173,1176,1179,1181,1184,1186],{"class":455,"line":624},[453,1174,1175],{"class":470},"        System.out.",[453,1177,1178],{"class":466},"println",[453,1180,963],{"class":470},[453,1182,1183],{"class":723},"\"Alimento encontrado: \"",[453,1185,727],{"class":459},[453,1187,1188],{"class":470}," alimento);\n",[453,1190,1191],{"class":455,"line":629},[453,1192,1193],{"class":470},"        \n",[453,1195,1196],{"class":455,"line":643},[453,1197,1199],{"class":1198},"sAwPA","        \u002F\u002F Intentar buscar un alimento que no existe\n",[453,1201,1202,1205,1207,1209,1212],{"class":455,"line":651},[453,1203,1204],{"class":470},"        manager.",[453,1206,886],{"class":466},[453,1208,963],{"class":470},[453,1210,1211],{"class":723},"\"Pera\"",[453,1213,1170],{"class":470},[453,1215,1216,1219,1222,1225,1228],{"class":455,"line":656},[453,1217,1218],{"class":470},"    } ",[453,1220,1221],{"class":459},"catch",[453,1223,1224],{"class":470}," (AlimentoNoEncontradoException ",[453,1226,1227],{"class":579},"e",[453,1229,589],{"class":470},[453,1231,1232,1234,1236,1239,1242],{"class":455,"line":661},[453,1233,1175],{"class":470},[453,1235,1178],{"class":466},[453,1237,1238],{"class":470},"(e.",[453,1240,1241],{"class":466},"getMessage",[453,1243,1244],{"class":470},"());\n",[453,1246,1247],{"class":455,"line":674},[453,1248,621],{"class":470},[453,1250,1251],{"class":455,"line":681},[453,1252,517],{"class":470},[418,1254,1256],{"id":1255},"conclusión","Conclusión",[423,1258,1259],{},"En este ejemplo, hemos demostrado cómo utilizar enumeraciones (Enum) para definir categorías de alimentos y cómo manejar excepciones para gestionar errores de manera eficiente en Java. Esto permite que nuestro programa sea más robusto y fácil de mantener, ya que podemos manejar situaciones inesperadas sin que el programa se bloquee.",[1261,1262,1263],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}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);}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":449,"searchDepth":474,"depth":474,"links":1265},[1266,1267,1274],{"id":420,"depth":474,"text":421},{"id":428,"depth":474,"text":429,"children":1268},[1269,1270,1271,1272,1273],{"id":433,"depth":484,"text":434},{"id":520,"depth":484,"text":521},{"id":751,"depth":484,"text":752},{"id":983,"depth":484,"text":984},{"id":1044,"depth":484,"text":1045},{"id":1255,"depth":474,"text":1256},"En este ejemplo, se muestra cómo utilizar enumeraciones (Enum) y manejo de excepciones en Java para crear un programa que maneje diferentes tipos de errores de manera eficiente.","md",null,{"editButton":42},{"title":335,"description":1275},"5gSw3kL-mtmwbObG8HXfE5MPnEpNjV4WAyQ5iTFTHQA",[1282,1284],{"title":331,"path":332,"stem":333,"description":1283,"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.",{"title":339,"path":340,"stem":341,"description":1285,"children":-1},"En este ejemplo, crearemos una clase `InputValidator` que contiene funciones genéricas para validar diferentes tipos de entradas, como números enteros, correos electrónicos y fechas. Estas funciones lanzarán excepciones personalizadas si la validación falla.",1779479576756]