{"id":3054,"date":"2020-01-06T13:16:30","date_gmt":"2020-01-06T12:16:30","guid":{"rendered":"https:\/\/www.webotlet.hu\/?p=3054"},"modified":"2020-01-06T13:27:48","modified_gmt":"2020-01-06T12:27:48","slug":"java-programozas-2010-oktoberi-emelt-informatika-erettsegi-anagramma-2-verzio","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=3054","title":{"rendered":"Java programoz\u00e1s \u2013 2010 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 anagramma (2. verzi\u00f3)"},"content":{"rendered":"<p>A feladat le\u00edr\u00e1s\u00e1t, melynek a megold\u00e1s\u00e1t k\u00f6zz\u00e9teszem <a href=\"https:\/\/www.webotlet.hu\/wp-content\/uploads\/2020\/01\/e_info_10okt_anagramma.pdf\">innen<\/a> t\u00f6ltheted le. Ez a megold\u00e1s list\u00e1val dolgozik. Foreach ciklusokat is haszn\u00e1lok benne, \u00e9s tettem egy statikus met\u00f3dust az adatt\u00e1rol\u00f3 oszt\u00e1lyba.<\/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_10okt_anagram_v2;\r\n\r\npublic class Szo\r\n{\r\n  private String szo;\r\n  private String abc;\r\n  \r\n  public Szo(String szo)\r\n  {\r\n    this.szo = szo;\r\n    \r\n    abc = rendezett(szo);\r\n  }\r\n\r\n  public String getAbc()\r\n  {\r\n    return abc;\r\n  }\r\n\r\n  public String getSzo()\r\n  {\r\n    return szo;\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;, abc=&quot; + abc + '}';\r\n  }\r\n  \r\n    \/\/ egy tetszoleges szo betuinek abc rendezese\r\n  public static String rendezett( String szo )\r\n  {\r\n    char&#x5B;] tomb = szo.toCharArray();\r\n    for( int i = 0; i &lt; tomb.length - 1; i++ )\r\n    {\r\n      for( int j = i + 1; j &lt; tomb.length; j++ )\r\n      {\r\n        if(tomb&#x5B;i] &gt; tomb&#x5B;j])\r\n        {\r\n          char csere = tomb&#x5B;i];\r\n          tomb&#x5B;i] = tomb&#x5B;j];\r\n          tomb&#x5B;j] = csere;\r\n        }\r\n      }\r\n    }\r\n    return new String(tomb);\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_10okt_anagram_v2;\r\n\r\nimport java.io.IOException;\r\nimport java.io.RandomAccessFile;\r\nimport java.util.ArrayList;\r\nimport java.util.Scanner;\r\n\r\npublic class Webotlet_10okt_anagram_v2\r\n{\r\n\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n    \r\n    System.out.println(&quot;1. feladat&quot;);\r\n    System.out.println(&quot;Adja meg a szoveget:&quot;);\r\n    Scanner sc = new Scanner(System.in);\r\n    String szo = sc.nextLine();\r\n    \r\n    char&#x5B;] betuk = szo.toCharArray();\r\n    \r\n    int&#x5B;] betukDb = new int&#x5B;((int)'z') + 1];\r\n    \r\n    for( int i = 0; i &lt; betuk.length; i++)\r\n    {\r\n      betukDb&#x5B; (int)betuk&#x5B;i] ]++;\r\n    }\r\n    \r\n    for( int i = 0; i &lt; betukDb.length; i++ )\r\n    {\r\n      if(betukDb&#x5B;i] &gt; 0)\r\n      {\r\n        System.out.println(betukDb&#x5B;i] + &quot; &quot; + (char)i);\r\n      }\r\n    }\r\n    \r\n    RandomAccessFile raf;\r\n    String sor;\r\n    ArrayList&lt;Szo&gt; szavak = new ArrayList&lt;&gt;();\r\n    \r\n    try\r\n    {\r\n      raf = new RandomAccessFile(&quot;szotar.txt&quot;, &quot;r&quot;);\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    try\r\n    {\r\n      RandomAccessFile ki = new RandomAccessFile(&quot;abc.txt&quot;, &quot;rw&quot;);\r\n      ki.setLength(0);\r\n      \r\n      for( int i = 0; i &lt; szavak.size(); i++ )\r\n      {\r\n        ki.writeBytes(szavak.get(i).getAbc() + &quot;\\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    System.out.println(&quot;4. feladat&quot;);\r\n    \r\n    String szo1;\r\n    String szo2;\r\n    System.out.print(&quot;1. szo: &quot;);\r\n    szo1 = sc.nextLine();\r\n    System.out.print(&quot;2. szo: &quot;);\r\n    szo2 = sc.nextLine();\r\n    \r\n    if( Szo.rendezett(szo1).equals(Szo.rendezett(szo2 )) )\r\n    {\r\n      System.out.println(&quot;Anagramma&quot;);\r\n    }\r\n    else\r\n    {\r\n      System.out.println(&quot;Nem anagramma&quot;);\r\n    }\r\n\r\n    System.out.println(&quot;5. feladat Adj meg egy szot!&quot;);\r\n      \r\n    Scanner sc2 = new Scanner(System.in);\r\n    String feladat5 = sc2.nextLine();\r\n    \r\n    feladat5 = Szo.rendezett(feladat5);\r\n     \r\n    for( int i = 0; i &lt; szavak.size(); i++ )\r\n    {\r\n      if( szavak.get(i).getAbc().equals(feladat5) )\r\n      {\r\n        System.out.println(szavak.get(i).getSzo());\r\n      }\r\n    }\r\n    \r\n    System.out.println(&quot;6. feladat&quot;);\r\n    int maxhossz = szavak.get(0).getSzo().length();\r\n    for( int i = 0; i &lt; szavak.size(); i++ )\r\n    {\r\n      if( szavak.get(i).getSzo().length() &gt; maxhossz )\r\n      {\r\n        maxhossz = szavak.get(i).getSzo().length();\r\n      }\r\n    }\r\n    \r\n    ArrayList&lt;Szo&gt; leghosszabb = new ArrayList&lt;&gt;();\r\n    for( int i = 0; i &lt; szavak.size(); i++ )\r\n    {\r\n      if( szavak.get(i).getSzo().length() == maxhossz )\r\n      {\r\n        leghosszabb.add(szavak.get(i));\r\n      }\r\n    }\r\n    \r\n    for( int i = 0; i &lt; leghosszabb.size() - 1; i++ )\r\n    {\r\n      for( int j = i + 1; j &lt; leghosszabb.size(); j++ )\r\n      {\r\n        if( leghosszabb.get(i).getAbc().compareTo(leghosszabb.get(j).getAbc()) &gt; 0)\r\n        {\r\n          Szo csere = leghosszabb.get(i);\r\n          leghosszabb.set(i, leghosszabb.get(j));\r\n          leghosszabb.set(j, csere);\r\n        }\r\n      }\r\n    }\r\n    \r\n    for( Szo sz : leghosszabb)\r\n    {\r\n      System.out.println(sz.getSzo());\r\n    }\r\n    \r\n\r\n    for( int i = 0; i &lt; szavak.size() - 1; i++ )\r\n    {\r\n      for( int j = i + 1; j &lt; szavak.size(); j++ )\r\n      {\r\n        if( szavak.get(i).getSzo().length() &gt; szavak.get(j).getSzo().length()\r\n          || (szavak.get(i).getSzo().length() == szavak.get(j).getSzo().length()\r\n              &amp;&amp; szavak.get(i).getAbc().compareTo(szavak.get(j).getAbc()) &gt; 0 ) )\r\n        {\r\n          Szo csere = szavak.get(i);\r\n          szavak.set(i, szavak.get(j));\r\n          szavak.set(j, csere);\r\n        }\r\n      }\r\n    }\r\n\r\n    try\r\n    {\r\n      RandomAccessFile ki = new RandomAccessFile(&quot;rendezve.txt&quot;, &quot;rw&quot;);\r\n      ki.setLength(0);\r\n      \r\n      ki.writeBytes(szavak.get(0).getSzo());\r\n      for( int i = 1; i &lt; szavak.size(); i++ )\r\n      {\r\n        if( szavak.get(i).getAbc().equals(szavak.get(i - 1).getAbc()))\r\n        {\r\n          ki.writeBytes(&quot; &quot; + szavak.get(i).getSzo());\r\n        }\r\n        else if( szavak.get(i).getSzo().length() == szavak.get(i - 1).getSzo().length() )\r\n        {\r\n          ki.writeBytes(&quot;\\n&quot; + szavak.get(i).getSzo());\r\n        }\r\n        else\r\n        {\r\n          ki.writeBytes(&quot;\\n\\n&quot; + szavak.get(i).getSzo());\r\n        }\r\n      }\r\n      ki.close();\r\n    }\r\n    catch( IOException e )\r\n    {\r\n      System.out.println(e.getMessage());\r\n      System.out.println(&quot;HIBA&quot;);\r\n    }\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. Foreach ciklusokat is haszn\u00e1lok benne, \u00e9s tettem egy statikus met\u00f3dust az adatt\u00e1rol\u00f3 oszt\u00e1lyba. Adatt\u00e1rol\u00f3 oszt\u00e1ly: \/** * * @author https:\/\/webotlet.hu *\/ package webotlet_10okt_anagram_v2; public class <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=3054\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s \u2013 2010 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 anagramma (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":[108,107,109,86,144,16,143,183,25,26],"class_list":["post-3054","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok","tag-emelt","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi","tag-java","tag-java_programozas","tag-lista","tag-programozas","tag-programozas-feladat","tag-randomaccessfile","tag-szovegfajl"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3054","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=3054"}],"version-history":[{"count":2,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3054\/revisions"}],"predecessor-version":[{"id":3059,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/3054\/revisions\/3059"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3054"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3054"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}