{"id":2904,"date":"2019-11-11T10:08:45","date_gmt":"2019-11-11T09:08:45","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2904"},"modified":"2019-11-11T10:08:45","modified_gmt":"2019-11-11T09:08:45","slug":"java-programozas-2007-majusi-emelt-informatika-erettsegi-sms-szavak-3-verzio","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2904","title":{"rendered":"Java programoz\u00e1s \u2013 2007 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi \u2013 SMS szavak (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_07maj_SMS_szavak.pdf\">innen<\/a> t\u00f6ltheted le. Ez a megold\u00e1s list\u00e1val, \u00e9s ahol lehet, foreach ciklusokkal dolgozik. Az adatt\u00e1rol\u00f3 oszt\u00e1lyban n\u00e9h\u00e1ny feladatot el\u0151k\u00e9sz\u00edtek, \u00e9s a v\u00e9gs\u0151 megold\u00e1sban ezeket haszn\u00e1lom. Ide pakoltam a bet\u0171 &#8211; k\u00f3d \u00e1talak\u00edt\u00e1st. Az utols\u00f3 k\u00e9t feladathoz TreeMap-et haszn\u00e1lok. Az\u00e9rt Tree-t, hogy egy\u00fattal rendezett is legyen az eredm\u00e9ny (ami egy\u00e9bk\u00e9nt nem k\u00f6vetelm\u00e9ny).<\/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_07maj_sms_szavak_java_v3;\r\n\r\npublic class Szo\r\n{\r\n  private String szo;\r\n  private String szamkod;\r\n  \r\n  public Szo( String szo )\r\n  {\r\n    this.szo = szo;\r\n    \r\n    StringBuilder sb = new StringBuilder();\r\n    char&#x5B;] tomb = szo.toCharArray();\r\n    for( char c : tomb )\r\n    {\r\n      sb.append(betukod(c));\r\n    }\r\n    szamkod = sb.toString();\r\n\r\n  }\r\n\r\n  public String getSzo()\r\n  {\r\n    return szo;\r\n  }\r\n\r\n  public String getSzamkod()\r\n  {\r\n    return szamkod;\r\n  }\r\n\r\n  public void setSzamkod(String szamkod)\r\n  {\r\n    this.szamkod = szamkod;\r\n  }\r\n\r\n  @Override\r\n  public String toString()\r\n  {\r\n    return &quot;Szo{&quot; + &quot;szo=&quot; + szo + &quot;, szamkod=&quot; + szamkod + '}';\r\n  }\r\n  \r\n  public String SzoKod()\r\n  {\r\n    return szo + &quot; : &quot; + szamkod + &quot;; &quot;;\r\n  }\r\n  \r\n  public static int betukod( char betu )\r\n  {\r\n    int kod = 0;\r\n    switch( betu )\r\n    {\r\n      case 'a': case 'b': case 'c':\r\n        kod = 2;\r\n        break;\r\n      case 'd': case 'e': case 'f':\r\n        kod = 3;\r\n        break;\r\n      case 'g': case 'h': case 'i':\r\n        kod = 4;\r\n        break;\r\n      case 'j': case 'k': case 'l':\r\n        kod = 5;\r\n        break;\r\n      case 'm': case 'n': case 'o':\r\n        kod = 6;\r\n        break;\r\n      case 'p': case 'q': case 'r': case 's':\r\n        kod = 7;\r\n        break;\r\n      case 't': case 'u': case 'v':\r\n        kod = 8;\r\n        break;\r\n      default:\r\n        kod = 9;\r\n        break;\r\n    }\r\n    return kod;\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_07maj_sms_szavak_java_v3;\r\n\r\nimport java.io.IOException;\r\nimport java.io.RandomAccessFile;\r\nimport java.util.ArrayList;\r\nimport java.util.Arrays;\r\nimport java.util.Map;\r\nimport java.util.Scanner;\r\nimport java.util.TreeMap;\r\n\r\npublic class Webotlet_07maj_sms_szavak_java_v3\r\n{\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n    \/\/ 1. feladat\r\n    System.out.println(&quot;1. feladat&quot;);\r\n    Scanner sc = new Scanner(System.in);\r\n    System.out.println(&quot;Adj meg egy betut!&quot;);\r\n    char c = sc.nextLine().charAt(0);\r\n    System.out.println(Szo.betukod(c));\r\n    \r\n    \/\/ 2. feladat\r\n    System.out.println(&quot;2. feladat&quot;);\r\n    System.out.println(&quot;Adj meg egy szot!&quot;);\r\n    String sz = sc.nextLine();\r\n    for( int i = 0; i &lt; sz.length(); i++ )\r\n    {\r\n      System.out.print(Szo.betukod(sz.charAt(i)));\r\n    }\r\n    System.out.println();\r\n    \r\n    \/\/ 3. feladat\r\n    \r\n    ArrayList&lt;Szo&gt;szavak = new ArrayList&lt;&gt;();\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile raf = new RandomAccessFile(&quot;szavak.txt&quot;, &quot;r&quot;);\r\n      String sor;\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        szavak.add(new Szo(sor));\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; szavak.length; i++ )\r\n\/\/    {\r\n\/\/      System.out.println(szavak&#x5B;i].toString());\r\n\/\/    }\r\n\/\/    \r\n    \/\/ 4. feladat\r\n    System.out.println(&quot;4. feladat&quot;);\r\n    \r\n    Szo max = szavak.get(0);\r\n    \r\n    for (Szo szo : szavak)\r\n    {\r\n      if( szo.getSzo().length() &gt; max.getSzo().length() )\r\n      {\r\n        max = szo;\r\n      }\r\n    }\r\n\r\n    System.out.println(&quot;A leghosszabb szo: &quot;+max.getSzo()\r\n      + &quot;, hossza:&quot; + max.getSzo().length());\r\n    \r\n    \/\/ 5. feladat\r\n    System.out.println(&quot;5. feladat&quot;);\r\n\r\n    int db5 = 0;\r\n    \r\n    for( Szo szo : szavak )\r\n    {\r\n      if( szo.getSzo().length() &lt;= 5 )\r\n      {\r\n        db5++;\r\n      }\r\n    }\r\n    \r\n    System.out.println(&quot;A fajlban &quot; + db5 + &quot; darab rovid szo van.&quot;);\r\n    \r\n    \/\/ 6. feladat\r\n\r\n    try\r\n    {\r\n      RandomAccessFile ki = new RandomAccessFile(&quot;kodok.txt&quot;, &quot;rw&quot;);\r\n      ki.setLength(0);\r\n      \r\n      for( Szo szo : szavak )\r\n      {\r\n        ki.writeBytes(szo.getSzamkod() + &quot;\\n&quot;);\r\n        \r\n      }\r\n      ki.close();\r\n      \r\n    }\r\n    catch( IOException e )\r\n    {\r\n      System.out.println(&quot;HIBA&quot;);\r\n    }\r\n    \r\n    \/\/ 7. feladat\r\n    System.out.println(&quot;7. feladat&quot;);\r\n    sc = new Scanner(System.in);\r\n    System.out.println(&quot;Adj meg egy szamkodot!&quot;);\r\n    String szamsor = sc.nextLine();\r\n    \r\n    for( Szo szo : szavak )\r\n    {\r\n      if( szo.getSzamkod().equals(szamsor) )\r\n      {\r\n        System.out.println(szo.getSzo());\r\n      }\r\n    }\r\n    \r\n    \/\/ 8. feladat\r\n    System.out.println(&quot;8. feladat&quot;);\r\n    \r\n    TreeMap&lt;String,ArrayList&lt;Szo&gt;&gt; kodDb = new TreeMap&lt;&gt;();\r\n    \r\n    String szamkod = &quot;&quot;;\r\n    for( Szo szo : szavak )\r\n    {\r\n      szamkod = szo.getSzamkod();\r\n      if( kodDb.containsKey(szamkod) )\r\n      {\r\n          kodDb.get(szamkod).add(szo);\r\n      }\r\n      else\r\n      {\r\n          kodDb.put(szamkod, new ArrayList&lt;&gt;(Arrays.asList(szo)));\r\n      }\r\n    }\r\n    \r\n    for( ArrayList&lt;Szo&gt; lista : kodDb.values() )\r\n    {\r\n      if( lista.size() &gt; 1 )\r\n      {\r\n        for( Szo szo : lista )\r\n        {\r\n            System.out.print(szo.SzoKod());\r\n        }\r\n      }\r\n    }\r\n    System.out.println();\r\n\r\n    \/\/ 9. feladat\r\n    System.out.println(&quot;9. feladat&quot;);\r\n    \r\n    int maxDb = 0;\r\n    ArrayList&lt;Szo&gt; maxKod = new ArrayList&lt;&gt;();\r\n    for( ArrayList&lt;Szo&gt; elem : kodDb.values() )\r\n    {\r\n      if( elem.size() &gt; maxDb )\r\n      {\r\n        maxDb = elem.size();\r\n        maxKod = elem;\r\n      }\r\n    }\r\n    \r\n    System.out.print(maxKod.get(0).getSzamkod() + &quot;: &quot;);\r\n    for (Szo szo : maxKod)\r\n    {\r\n      System.out.print(szo.getSzo() + &quot; &quot;);\r\n    }\r\n    System.out.println();\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, \u00e9s ahol lehet, foreach ciklusokkal dolgozik. Az adatt\u00e1rol\u00f3 oszt\u00e1lyban n\u00e9h\u00e1ny feladatot el\u0151k\u00e9sz\u00edtek, \u00e9s a v\u00e9gs\u0151 megold\u00e1sban ezeket haszn\u00e1lom. Ide pakoltam a bet\u0171 &#8211; k\u00f3d \u00e1talak\u00edt\u00e1st. Az <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2904\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s \u2013 2007 m\u00e1jusi emelt informatika \u00e9retts\u00e9gi \u2013 SMS szavak (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":[19,107,109,22,18,86,144,25,124],"class_list":["post-2904","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok","tag-arraylist","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi","tag-fajlkezeles","tag-foreach","tag-java","tag-java_programozas","tag-randomaccessfile","tag-treemap"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2904","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=2904"}],"version-history":[{"count":1,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2904\/revisions"}],"predecessor-version":[{"id":2905,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2904\/revisions\/2905"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}