{"id":2783,"date":"2019-11-03T21:24:32","date_gmt":"2019-11-03T20:24:32","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2783"},"modified":"2020-01-13T11:01:35","modified_gmt":"2020-01-13T10:01:35","slug":"java-programozas-2013-majusi-emelt-informatika-erettsegi-programozasi-feladatanak-megoldasa-2-verzio","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2783","title":{"rendered":"Java programoz\u00e1s &#8211; 2013 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi programoz\u00e1si feladat\u00e1nak megold\u00e1sa (2. verzi\u00f3)"},"content":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem <a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2019\/11\/e_inf_13maj_valasztasok.pdf\">innen<\/a> t\u00f6ltheted le. Ez a megold\u00e1s list\u00e1val dolgozik, haszn\u00e1lok benne HashSet-et, foreach ciklust (ahol lehet), \u00e9s OO szeml\u00e9letb\u0151l kicsit t\u00f6bb tal\u00e1lhat\u00f3 benne.<\/p>\n<p>Adatt\u00e1rol\u00f3 oszt\u00e1ly:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n *\r\n * @author https:\/\/webotlet.hu\r\n *\/\r\npackage webotlet_13maj_valasztasok_v2;\r\n\r\npublic class Jelolt\r\n{\r\n  private int kerulet;\r\n  private int szavazatok;\r\n  private String nev;\r\n  private String part;\r\n  \r\n  public Jelolt( String&#x5B;] tomb )\r\n  {\r\n    kerulet = Integer.parseInt(tomb&#x5B;0]);\r\n    szavazatok = Integer.parseInt(tomb&#x5B;1]);\r\n    nev = tomb&#x5B;2] + &quot; &quot; + tomb&#x5B;3];\r\n    part = tomb&#x5B;4];\r\n    if( part.equals(&quot;-&quot;))\r\n    {\r\n      part = &quot;fuggetlen&quot;;\r\n    }\r\n  }\r\n\r\n  public int getKerulet()\r\n  {\r\n    return kerulet;\r\n  }\r\n\r\n  public int getSzavazatok()\r\n  {\r\n    return szavazatok;\r\n  }\r\n\r\n  public String getNev()\r\n  {\r\n    return nev;\r\n  }\r\n\r\n  public String getPart()\r\n  {\r\n    return part;\r\n  }\r\n\r\n  @Override\r\n  public String toString()\r\n  {\r\n    return &quot;Jelolt{&quot; + &quot;kerulet=&quot; + kerulet \r\n      + &quot;, szavazatok=&quot; + szavazatok + &quot;, nev=&quot;\r\n      + nev + &quot;, part=&quot; + part + '}';\r\n  }\r\n}\r\n<\/pre>\n<p>P\u00e1rt oszt\u00e1ly (egy konkr\u00e9t feladathoz):<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n *\r\n * @author https:\/\/webotlet.hu\r\n *\/\r\npackage webotlet_13maj_valasztasok_v2;\r\n\r\nimport java.util.ArrayList;\r\n\r\npublic class Part\r\n{\r\n  private String nev;\r\n  private String rovid;\r\n  private ArrayList&lt;Jelolt&gt; jeloltek;\r\n  private int osszSzavazat;\r\n  \r\n  public Part( String nev, String rovid )\r\n  {\r\n    this.nev = nev;\r\n    this.rovid = rovid;\r\n    jeloltek = new ArrayList&lt;&gt;();\r\n    osszSzavazat = 0;\r\n  }\r\n\r\n  public String getNev()\r\n  {\r\n    return nev;\r\n  }\r\n\r\n  public String getRovid()\r\n  {\r\n    return rovid;\r\n  }\r\n\r\n  public ArrayList&lt;Jelolt&gt; getJeloltek()\r\n  {\r\n    return jeloltek;\r\n  }\r\n\r\n  public int getOsszSzavazat()\r\n  {\r\n    return osszSzavazat;\r\n  }\r\n\r\n  @Override\r\n  public String toString()\r\n  {\r\n    return &quot;Part{&quot; + &quot;nev=&quot; + nev + &quot;, rovid=&quot;\r\n      + rovid + &quot;, jeloltek=&quot; + jeloltek + '}';\r\n  }\r\n\r\n  public void addJelolt(Jelolt jelolt)\r\n  {\r\n    jeloltek.add(jelolt);\r\n    osszSzavazat += jelolt.getSzavazatok();\r\n  }\r\n}\r\n<\/pre>\n<p>A feladat megold\u00e1sai:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n *\r\n * @author https:\/\/webotlet.hu\r\n *\/\r\npackage webotlet_13maj_valasztasok_v2;\r\n\r\nimport java.io.IOException;\r\nimport java.io.RandomAccessFile;\r\nimport java.util.ArrayList;\r\nimport java.util.HashMap;\r\nimport java.util.Scanner;\r\n\r\npublic class webotlet_13maj_valasztasok_v2\r\n{\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n    System.out.println(&quot;1. feladat&quot;);\r\n    ArrayList&lt;Jelolt&gt; jeloltek = new ArrayList&lt;&gt;();\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile raf = new RandomAccessFile(&quot;szavazatok.txt&quot;,&quot;r&quot;);\r\n      String sor;\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        jeloltek.add(new Jelolt(sor.split(&quot; &quot;)));\r\n      }\r\n      raf.close();\r\n    }\r\n    catch( IOException e )\r\n    {\r\n      System.out.println(&quot;HIBA&quot;);\r\n    }\r\n    \r\n\/\/    for( int i = 0; i &lt; jeloltek.length; i++ )\r\n\/\/    {\r\n\/\/      System.out.println(jeloltek&#x5B;i].toString());\r\n\/\/    }\r\n    System.out.println(&quot;2. feladat&quot;);\r\n    System.out.println(&quot;A helyhatosagi valasztason &quot; \r\n      + jeloltek.size() + &quot; kepviselojelolt indult.&quot;);\r\n    \r\n    System.out.println(&quot;3. feladat&quot;);\r\n    Scanner sc = new Scanner(System.in);\r\n    System.out.println(&quot;Adja meg egy jelolt nevet:&quot;);\r\n    String nev = sc.nextLine();\r\n    boolean vanNev = false;\r\n    \r\n    for( Jelolt jelolt : jeloltek )\r\n    {\r\n      if( jelolt.getNev().equals(nev))\r\n      {\r\n        System.out.println(&quot;A jelolt &quot; \r\n          + jelolt.getSzavazatok() + &quot; szavazatot kapott.&quot;);\r\n        vanNev = true;\r\n        break;\r\n      }\r\n    }\r\n    if( !vanNev )\r\n    {\r\n      System.out.println(&quot;Ilyen nevu kepviselojelolt &quot;\r\n        + &quot;nem szerepel a nyilvantartasban!&quot;);\r\n    }\r\n        \r\n    System.out.println(&quot;4. feladat&quot;);\r\n    int osszSzavazat = 0;\r\n    for( Jelolt jelolt : jeloltek)\r\n    {\r\n      osszSzavazat += jelolt.getSzavazatok();\r\n    }\r\n    \r\n    double szazalek = (osszSzavazat \/ (double)12345) * 100;\r\n    System.out.println(String.format(&quot;A valasztason %d &quot;\r\n      + &quot;allampolgar, a jogosultak %.2f%%-a vett reszt.&quot;,\r\n      osszSzavazat, szazalek));\r\n    \r\n    \r\n    System.out.println(&quot;5. feladat&quot;);\r\n    \/\/ GYEP, HEP, TISZ, ZEP, fuggetlen\r\n    HashMap&lt;String, Part&gt; partok = new HashMap&lt;&gt;();\r\n    \r\n    partok.put( &quot;GYEP&quot;, new Part(&quot;Gyumolcsevok Partja&quot;,&quot;GYEP&quot;));\r\n    partok.put( &quot;HEP&quot;, new Part(&quot;Husevok Partja&quot;,&quot;HEP&quot;));\r\n    partok.put( &quot;TISZ&quot;, new Part(&quot;Tejivok Partja&quot;,&quot;TISZ&quot;));\r\n    partok.put( &quot;ZEP&quot;, new Part(&quot;Zoldsegevok Partja&quot;,&quot;ZEP&quot;));\r\n    partok.put( &quot;fuggetlen&quot;, new Part(&quot;Fuggetlen jeloltek&quot;,&quot;fuggetlen&quot;));\r\n    \r\n    for( Jelolt jelolt : jeloltek)\r\n    {\r\n      partok.get(jelolt.getPart()).addJelolt(jelolt);\r\n    }\r\n    \r\n    for( Part part : partok.values())\r\n    {\r\n      szazalek = (part.getOsszSzavazat() \/ (double)osszSzavazat) * 100;\r\n      System.out.println(String.format(&quot;%s= %.2f%%&quot;, part.getNev(), szazalek));\r\n    }\r\n    \r\n    System.out.println(&quot;6. feladat&quot;);\r\n    \r\n    int maxSzavazat = jeloltek.get(0).getSzavazatok();\r\n    for( Jelolt jelolt : jeloltek)\r\n    {\r\n      if( jelolt.getSzavazatok() &gt; maxSzavazat )\r\n      {\r\n        maxSzavazat = jelolt.getSzavazatok();\r\n      }\r\n    }\r\n\r\n    for( Jelolt jelolt : jeloltek)\r\n    {\r\n      if( jelolt.getSzavazatok() == maxSzavazat )\r\n      {\r\n        System.out.println( jelolt.getNev() + &quot; &quot; + jelolt.getPart());\r\n      }\r\n    }\r\n\r\n\/\/ 7. feladat\r\n    Jelolt&#x5B;] nyertesek = new Jelolt&#x5B;9];\r\n    \r\n    for( Jelolt jelolt : jeloltek)\r\n    {\r\n      if( nyertesek&#x5B; jelolt.getKerulet() ] == null ||\r\n          nyertesek&#x5B; jelolt.getKerulet() ].getSzavazatok() &lt;\r\n        jelolt.getSzavazatok() )\r\n      {\r\n        nyertesek&#x5B; jelolt.getKerulet() ] = jelolt;\r\n      }\r\n    }\r\n\r\n    try\r\n    {\r\n      RandomAccessFile out = new RandomAccessFile(&quot;kepviselok.txt&quot;, &quot;rw&quot;);\r\n\/\/ ha esetleg t\u00f6bbsz\u00f6r hozn\u00e1nk l\u00e9tre a f\u00e1jlt,\r\n\/\/ t\u00f6r\u00f6lj\u00fck az el\u0151z\u0151 tartalm\u00e1t\r\n      out.setLength(0);\r\n      for( int i = 1; i &lt; nyertesek.length; i++ )\r\n      {\r\n        out.writeBytes(i + &quot; &quot; + nyertesek&#x5B;i].getNev() + &quot; &quot;\r\n          + nyertesek&#x5B;i].getPart() + &quot;\\n&quot;);\r\n      }\r\n      out.close();\r\n    }\r\n    catch( IOException e )\r\n    {\r\n      System.out.println(&quot;HIBA&quot;);\r\n    }\r\n  }\r\n}\r\n<\/pre>\n<p>Ha hib\u00e1t tal\u00e1lsz benne, k\u00e9rlek jelezd!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem innen t\u00f6ltheted le. Ez a megold\u00e1s list\u00e1val dolgozik, haszn\u00e1lok benne HashSet-et, foreach ciklust (ahol lehet), \u00e9s OO szeml\u00e9letb\u0151l kicsit t\u00f6bb tal\u00e1lhat\u00f3 benne. Adatt\u00e1rol\u00f3 oszt\u00e1ly: \/** * * @author https:\/\/webotlet.hu *\/ package webotlet_13maj_valasztasok_v2; public <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2783\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s &#8211; 2013 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi programoz\u00e1si feladat\u00e1nak megold\u00e1sa (2. verzi\u00f3)<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106],"tags":[107,109,86,144],"class_list":["post-2783","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi","tag-java","tag-java_programozas"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2783"}],"version-history":[{"count":8,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2783\/revisions"}],"predecessor-version":[{"id":3093,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2783\/revisions\/3093"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}