{"id":2840,"date":"2019-11-06T20:17:29","date_gmt":"2019-11-06T19:17:29","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2840"},"modified":"2019-11-06T20:17:29","modified_gmt":"2019-11-06T19:17:29","slug":"java-programozas-2007-oktoberi-emelt-informatika-erettsegi-programozasi-feladatanak-megoldasa-3-verzio","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2840","title":{"rendered":"Java programoz\u00e1s &#8211; 2007 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi programoz\u00e1si feladat\u00e1nak megold\u00e1sa (3. 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_info_07okt_foci.pdf\">innen<\/a> t\u00f6ltheted le. Ez a megold\u00e1s list\u00e1val dolgozik. Az adatt\u00e1rol\u00f3 oszt\u00e1lyban sok feladatot el\u0151k\u00e9sz\u00edtek, \u00e9s a v\u00e9gs\u0151 megold\u00e1sban ezeket haszn\u00e1lom. Ahol csak lehet, foreach ciklust haszn\u00e1lok. Az utols\u00f3 feladatot egy eddig ritk\u00e1n haszn\u00e1lt HashMap adatszerkezettel oldottam meg, \u00ednyenceknek aj\u00e1nlott.<\/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_07okt_foci_java_v3;\r\n\r\npublic class Meccs\r\n{\r\n  private int fordulo;\r\n  private int hazaiVeg;\r\n  private int vendegVeg;\r\n  private int hazaiFel;\r\n  private int vendegFel;\r\n  private String hazai;\r\n  private String vendeg;\r\n  \r\n  public Meccs( String&#x5B;] tomb )\r\n  {\r\n    fordulo = Integer.parseInt(tomb&#x5B;0]);\r\n    hazaiVeg = Integer.parseInt(tomb&#x5B;1]);\r\n    vendegVeg = Integer.parseInt(tomb&#x5B;2]);\r\n    hazaiFel = Integer.parseInt(tomb&#x5B;3]);\r\n    vendegFel = Integer.parseInt(tomb&#x5B;4]);\r\n    hazai = tomb&#x5B;5];\r\n    vendeg = tomb&#x5B;6];\r\n  }\r\n\r\n  public int getFordulo()\r\n  {\r\n    return fordulo;\r\n  }\r\n\r\n  public int getHazaiVeg()\r\n  {\r\n    return hazaiVeg;\r\n  }\r\n\r\n  public int getVendegVeg()\r\n  {\r\n    return vendegVeg;\r\n  }\r\n\r\n  public int getHazaiFel()\r\n  {\r\n    return hazaiFel;\r\n  }\r\n\r\n  public int getVendegFel()\r\n  {\r\n    return vendegFel;\r\n  }\r\n\r\n  public String getHazai()\r\n  {\r\n    return hazai;\r\n  }\r\n\r\n  public String getVendeg()\r\n  {\r\n    return vendeg;\r\n  }\r\n\r\n  @Override\r\n  public String toString()\r\n  {\r\n    return &quot;Meccs{&quot; + &quot;fordulo=&quot; + fordulo + &quot;, hazaiVeg=&quot;\r\n      + hazaiVeg + &quot;, vendegVeg=&quot; + vendegVeg + &quot;, hazaiFel=&quot;\r\n      + hazaiFel + &quot;, vendegFel=&quot; + vendegFel + &quot;, hazai=&quot;\r\n      + hazai + &quot;, vendeg=&quot; + vendeg + '}';\r\n  }\r\n  \r\n  public String vegEredmeny()\r\n  {\r\n    return hazai + &quot;-&quot; + vendeg + &quot;: &quot; + hazaiVeg + &quot;-&quot;\r\n      + vendegVeg + &quot; (&quot; + hazaiFel + &quot;-&quot; + vendegFel + &quot;)&quot;;\r\n  }\r\n  \r\n  public String golEredmeny()\r\n  {\r\n    String eredmeny;\r\n    if( hazaiVeg &gt; vendegVeg )\r\n    {\r\n      eredmeny = hazaiVeg + &quot;-&quot; + vendegVeg;\r\n    }\r\n    else\r\n    {\r\n      eredmeny = vendegVeg + &quot;-&quot; + hazaiVeg;\r\n    }\r\n    return eredmeny;\r\n  }\r\n  \r\n  public String kiForditott()\r\n  {\r\n    String csapat = &quot;-&quot;;\r\n    if( hazaiVeg &gt; vendegVeg &amp;&amp; hazaiFel &lt; vendegFel )\r\n    {\r\n      csapat = hazai;\r\n    }\r\n    else if( hazaiVeg &lt; vendegVeg &amp;&amp; hazaiFel &gt; vendegFel )\r\n    {\r\n      csapat = vendeg;\r\n    }\r\n    return csapat;\r\n  }\r\n  \r\n  public boolean hazaiKikapott( String csapat )\r\n  {\r\n    return hazai.equals(csapat) &amp;&amp; hazaiVeg &lt; vendegVeg;\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_07okt_foci_java_v3;\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.Map;\r\nimport java.util.Scanner;\r\n\r\npublic class Webotlet_07okt_foci_java_v3\r\n{\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n    \/\/ 1. feladat\r\n    ArrayList&lt;Meccs&gt; meccsek = new ArrayList&lt;&gt;();\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile raf = new RandomAccessFile(&quot;meccs.txt&quot;, &quot;r&quot;);\r\n      raf.readLine();\r\n      \r\n      String sor;\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        meccsek.add(new Meccs( 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; meccsek.length; i++ )\r\n\/\/    {\r\n\/\/      System.out.println(meccsek&#x5B;i].toString());\r\n\/\/    }\r\n    \r\n    \/\/ 2. feladat\r\n    System.out.println(&quot;2. feladat&quot;);\r\n    \r\n    Scanner sc = new Scanner(System.in);\r\n    System.out.println(&quot;Add meg a fordulo szamat!&quot;);\r\n    int fordulo = sc.nextInt();\r\n    \r\n    for( Meccs meccs : meccsek)\r\n    {\r\n      if( meccs.getFordulo() == fordulo )\r\n      {\r\n        System.out.println(meccs.vegEredmeny());\r\n      }\r\n    }\r\n\r\n    \/\/ 3. feladat\r\n    System.out.println(&quot;3. feladat&quot;);\r\n    \r\n    for( Meccs meccs : meccsek)\r\n    {\r\n      if( !meccs.kiFforditott().equals(&quot;-&quot;) )\r\n      {\r\n        System.out.println(meccs.getFordulo() + &quot; &quot; + meccs.kiForditott());\r\n      }\r\n    }\r\n    \r\n    \/\/ 4. feladat\r\n    System.out.println(&quot;4. feladat&quot;);\r\n    \r\n    sc = new Scanner(System.in);\r\n    System.out.println(&quot;Add meg egy csapat nevet!&quot;);\r\n    String csapat = sc.nextLine();\r\n    \r\n    \/\/ 5. feladat\r\n    System.out.println(&quot;5. feladat&quot;);\r\n    \r\n    int lott = 0;\r\n    int kapott = 0;\r\n    for( Meccs meccs : meccsek)\r\n    {\r\n      if( meccs.getHazai().equals(csapat) )\r\n      {\r\n        lott += meccs.getHazaiVeg();\r\n        kapott += meccs.getVendegVeg();\r\n      }\r\n      else if( meccs.getVendeg().equals(csapat) )\r\n      {\r\n        lott += meccs.getVendegVeg();\r\n        kapott += meccs.getHazaiVeg();\r\n      }\r\n    }\r\n    \r\n    System.out.println(&quot;lott: &quot; + lott + &quot; kapott: &quot; + kapott);\r\n    \r\n    \/\/ 6. feladat\r\n    System.out.println(&quot;6. feladat&quot;);\r\n    \r\n    ArrayList&lt;Meccs&gt; kikapott = new ArrayList&lt;&gt;();\r\n    \r\n    for( Meccs meccs : meccsek)\r\n    {\r\n      if( meccs.hazaiKikapott(csapat) )\r\n      {\r\n        kikapott.add(meccs);\r\n      }\r\n    }\r\n    \r\n    if( kikapott.isEmpty() )\r\n    {\r\n      System.out.println(&quot;A csapat otthon veretlen maradt.&quot;);\r\n    }\r\n    else\r\n    {\r\n      Meccs eloszor = meccsek.get(0);\r\n      for( Meccs meccs : kikapott)\r\n      {\r\n        if( meccs.getFordulo() &lt; eloszor.getFordulo() )\r\n        {\r\n          eloszor = meccs;\r\n        }\r\n      }\r\n      \r\n      System.out.println(eloszor.getFordulo() + &quot; &quot; + eloszor.getVendeg());\r\n    }\r\n    \r\n    \/\/ 7. feladat\r\n    HashMap&lt;String,Integer&gt; eredmenyek = new HashMap&lt;&gt;();\r\n    \r\n    for( Meccs meccs : meccsek)\r\n    {\r\n      if( eredmenyek.containsKey(meccs.golEredmeny()) )\r\n      {\r\n        eredmenyek.replace(meccs.golEredmeny(),\r\n          eredmenyek.get(meccs.golEredmeny()) + 1);\r\n      }\r\n      else\r\n      {\r\n        eredmenyek.put(meccs.golEredmeny(), 1);\r\n      }\r\n    }\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile ki = new RandomAccessFile(&quot;stat.txt&quot;, &quot;rw&quot;);\r\n      ki.setLength(0);\r\n      \r\n      for( Map.Entry&lt;String, Integer&gt; elem : eredmenyek.entrySet())\r\n      {\r\n        ki.writeBytes(elem.getKey() + &quot;: &quot; + elem.getValue() + &quot; darab\\n&quot;);\r\n      }\r\n      ki.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. Az adatt\u00e1rol\u00f3 oszt\u00e1lyban sok feladatot el\u0151k\u00e9sz\u00edtek, \u00e9s a v\u00e9gs\u0151 megold\u00e1sban ezeket haszn\u00e1lom. Ahol csak lehet, foreach ciklust haszn\u00e1lok. Az utols\u00f3 feladatot egy eddig ritk\u00e1n haszn\u00e1lt <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2840\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s &#8211; 2007 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi programoz\u00e1si feladat\u00e1nak megold\u00e1sa (3. 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,22,18,122,86,144,16,25],"class_list":["post-2840","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi","tag-fajlkezeles","tag-foreach","tag-hashmap","tag-java","tag-java_programozas","tag-lista","tag-randomaccessfile"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2840","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=2840"}],"version-history":[{"count":1,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2840\/revisions"}],"predecessor-version":[{"id":2841,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2840\/revisions\/2841"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}