{"id":1107,"date":"2026-02-03T15:32:13","date_gmt":"2026-02-03T15:32:13","guid":{"rendered":"https:\/\/javigomez.org\/?p=1107"},"modified":"2026-02-03T15:32:13","modified_gmt":"2026-02-03T15:32:13","slug":"clases-en-java-atletas","status":"publish","type":"post","link":"https:\/\/javigomez.org\/index.php\/2026\/02\/03\/clases-en-java-atletas\/","title":{"rendered":"Clases en Java: Atletas"},"content":{"rendered":"\n<p>Dise\u00f1ar una clase para los atletas. La clase se llama \u201cAtleta\u201d y tendr\u00e1 los siguientes atributos: nombre (string), peso (double) y estatura(int).<br>Crear un constructor de la clase Atleta con los par\u00e1metros nombre, peso y estatura<br>Crear un constructor de la clase Atleta con el par\u00e1metro nombre. (el peso y la estatura se cargan a 0). El nombre no se podr\u00e1 cambiar una vez creada la clase<br>Crear el m\u00e9todo imc() en la clase Atleta que calcule el \u00edndice de masa corporal y lo devuelva en una variable double.<br>Crear el m\u00e9todo show() en la clase Atleta que muestre la informaci\u00f3n del atleta (nombre,peso, estatura e imc)<br>Crear un nuevo atributo en la clase Atleta que se denomina \u201cdeporte\u201d. Este ser\u00e1 un enumerado con los valores \u201cNATACION\u201d, \u201cATLETISMO\u201d y \u201cBALONCESTO\u201d.<br>Se tendr\u00e1 que cargar con el m\u00e9todo setDeporte(String) y a\u00f1adir su visualizaci\u00f3n en el m\u00e9todo show()<br>Crear la clase \u201cEntrenador\u201d con los atributos: nombre(string) y deporte (enumerado de deportes)<br>Crear un constructor de la clase Entrenador con los par\u00e1metros nombre(string) y deporte(string)<br>Crear un m\u00e9todo show() en la clase Entrenador que muestre el nombre y el deporte<br>Crear un nuevo atributo en la clase \u201cAtleta\u201d de tipo \u201cEntrenador\u201d<br>Crear el m\u00e9todo setEntrenador para asignar un entrenador a un atleta<br>Validar que un entrenador de un deporte no forme parte de un atleta de otro deporte<br>Modificar el m\u00e9todo show() de la clase atleta para mostrar el entrenador con su m\u00e9todo show()<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">enum Dep {NATACION, ATLETISMO, BALONCESTO}\n\nclass Atleta {\n    private String nombre;\n    Double peso;\n    int estatura;\n    Dep deporte;\n    private Entrenador entrenador;\n\n    Atleta(String nombre, Double peso, int estatura) {\n        this.nombre = nombre;\n        this.peso = peso;\n        this.estatura = estatura;\n    }\n\n    Atleta(String nombre) {\n        this(nombre, 0.0, 0);\n    }\n\n    void setDeporte(String deporte) {\n        this.deporte = Dep.valueOf(deporte.toUpperCase());\n    }\n\n    void setEntrenador(Entrenador entrenador) {\n        if (this.deporte == entrenador.deporte)\n            this.entrenador = entrenador;\n        else\n            System.out.println(\"ERROR: El entrenador \" + entrenador.nombre + \"(\" + entrenador.deporte + \") no coincide el deporte \" + this.deporte);\n    }\n\n    double imc() {\n        if (this.estatura != 0)\n            return (this.peso \/ ((double) (this.estatura * this.estatura) \/ 10000));\n        return 0;\n    }\n\n    void show() {\n        System.out.println(\"*******************************\");\n        System.out.println(\"Nombre: \" + this.nombre);\n        System.out.println(\"Deporte: \" + this.deporte);\n        System.out.println(\"Estatura: \" + this.estatura);\n        System.out.println(\"Peso: \" + this.peso);\n        System.out.println(\"IMC: \" + imc());\n        if (this.entrenador != null)\n            this.entrenador.show();\n        System.out.println(\"*******************************\");\n    }\n\n}\n\nclass Entrenador {\n    String nombre;\n    Dep deporte;\n\n    Entrenador(String nombre, String deporte) {\n        this.nombre = nombre;\n        this.deporte = Dep.valueOf(deporte.toUpperCase());\n    }\n\n    void show() {\n        System.out.println(\"**** Entrenador ****\");\n        System.out.println(\"   Nombre: \" + this.nombre);\n        System.out.println(\"   Deporte: \" + this.deporte);\n    }\n}\n\npublic class mainAtleta {\n    public static void main(String[] args) {\n        Atleta a1 = new Atleta(\"javi\", 73.0, 175);\n        a1.setDeporte(\"BALONCESTO\");\n        Atleta a2 = new Atleta(\"maria\");\n        a2.setDeporte(\"ATLETISMO\");\n        Entrenador e1 = new Entrenador(\"Lara\", \"ATLETISMO\");\n        a1.setEntrenador(e1);\n        a2.setEntrenador(e1);\n        a1.show();\n        a2.show();\n    }\n}\n<\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Atletas\" width=\"1200\" height=\"900\" src=\"https:\/\/www.youtube.com\/embed\/Q3FSLKllt6A?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Dise\u00f1ar una clase para los atletas. La clase se llama \u201cAtleta\u201d y tendr\u00e1 los siguientes atributos: nombre (string), peso (double) y estatura(int).Crear un constructor de &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[79,203],"class_list":["post-1107","post","type-post","status-publish","format-standard","hentry","category-java","tag-clases","tag-java"],"_links":{"self":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/1107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/comments?post=1107"}],"version-history":[{"count":1,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/1107\/revisions"}],"predecessor-version":[{"id":1108,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/1107\/revisions\/1108"}],"wp:attachment":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media?parent=1107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/categories?post=1107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/tags?post=1107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}