{"id":2913,"date":"2019-11-15T08:21:22","date_gmt":"2019-11-15T07:21:22","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2913"},"modified":"2019-11-15T08:21:22","modified_gmt":"2019-11-15T07:21:22","slug":"java-programozas-2009-oktoberi-emelt-informatika-erettsegi-utepites-2-verzio","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2913","title":{"rendered":"Java programoz\u00e1s \u2013 2009 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 \u00fat\u00e9p\u00edt\u00e9s (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_info_09okt_utepites.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. Az adatt\u00e1rol\u00f3 oszt\u00e1lyban t\u00f6bb \u00faj tulajdons\u00e1got is felveszek, az egyiket pedig az utols\u00f3 feladatban m\u00e9g m\u00f3dos\u00edtom is. A ki\u00edrat\u00e1sokhoz is \u00edrtam egy met\u00f3dust a v\u00e9ge fel\u00e9.<\/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_09okt_utepites_java_v2;\r\n\r\npublic class Jarmu\r\n{\r\n  private int ora;\r\n  private int perc;\r\n  private int mperc;\r\n  private int utIdo;\r\n  private String honnan;\r\n  \r\n  private String hova;\r\n  private int indulas;\r\n  private double sebesseg;\r\n  private int erkezes;\r\n  \r\n  public Jarmu(String&#x5B;] tomb)\r\n  {\r\n    ora = Integer.parseInt(tomb&#x5B;0]);\r\n    perc = Integer.parseInt(tomb&#x5B;1]);\r\n    mperc = Integer.parseInt(tomb&#x5B;2]);\r\n    utIdo = Integer.parseInt(tomb&#x5B;3]);\r\n    honnan = tomb&#x5B;4];\r\n    \r\n    if( honnan.equals(&quot;A&quot;))\r\n    {\r\n      hova = &quot;F&quot;;\r\n    }\r\n    else\r\n    {\r\n      hova = &quot;A&quot;;\r\n    }\r\n    \r\n    indulas = ora * 3600 + perc * 60 + mperc;\r\n    \r\n    sebesseg = 1000.0 \/ utIdo;\r\n    erkezes = indulas + utIdo;\r\n }\r\n\r\n  public int getOra()\r\n  {\r\n    return ora;\r\n  }\r\n\r\n  public int getPerc()\r\n  {\r\n    return perc;\r\n  }\r\n\r\n  public int getMperc()\r\n  {\r\n    return mperc;\r\n  }\r\n\r\n  public int getUtIdo()\r\n  {\r\n    return utIdo;\r\n  }\r\n\r\n  public String getHonnan()\r\n  {\r\n    return honnan;\r\n  }\r\n\r\n  public String getHova()\r\n  {\r\n    return hova;\r\n  }\r\n\r\n  public int getIndulas()\r\n  {\r\n    return indulas;\r\n  }\r\n\r\n  public double getSebesseg()\r\n  {\r\n    return sebesseg;\r\n  }\r\n\r\n  public int getErkezes()\r\n  {\r\n    return erkezes;\r\n  }\r\n\r\n  public void setErkezes(int erkezes)\r\n  {\r\n    this.erkezes = erkezes;\r\n  }\r\n  \r\n  @Override\r\n  public String toString()\r\n  {\r\n    return &quot;Jarmu{&quot; + &quot;ora=&quot; + ora + &quot;, perc=&quot;\r\n      + perc + &quot;, mperc=&quot; + mperc + &quot;, utIdo=&quot;\r\n      + utIdo + &quot;, honnan=&quot; + honnan + &quot;, hova=&quot;\r\n      + hova + &quot;, indulas=&quot; + indulas + &quot;, sebesseg=&quot;\r\n      + sebesseg + &quot;, erkezes=&quot; + erkezes + '}';\r\n  }\r\n  \r\n  \r\n  public String leggyorsabbToString()\r\n  {\r\n    return ora + &quot; &quot; + perc + &quot; &quot; + mperc\r\n      + &quot; &quot; + honnan + &quot; &quot; + String.format(&quot;%.1f&quot;, sebesseg);\r\n  }\r\n  \r\n  public String autoAdat()\r\n  {\r\n    return ora + &quot;:&quot; + perc + &quot;:&quot; + mperc + &quot; &quot; + erkezes;\r\n  }\r\n  \r\n  public String idoFormaz(int ido)\r\n  {\r\n    int ora;\r\n    int perc;\r\n    int mperc;\r\n    \r\n    ora = ido \/ 3600;\r\n    ido = ido % 3600;\r\n    perc = ido \/ 60;\r\n    mperc = ido % 60;\r\n    return ora + &quot;:&quot; + perc + &quot;:&quot; + mperc;\r\n  }\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_09okt_utepites_java_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_09okt_utepites_java_v2\r\n{\r\n\r\n  public static void main(String&#x5B;] args)\r\n  {\r\n    ArrayList&lt;Jarmu&gt; jarmuvek = new ArrayList&lt;&gt;();\r\n    \r\n    try\r\n    {\r\n      RandomAccessFile raf = new RandomAccessFile(&quot;forgalom.txt&quot;, &quot;r&quot;);\r\n      String sor;\r\n      raf.readLine();\r\n      for( sor = raf.readLine(); sor != null; sor = raf.readLine() )\r\n      {\r\n        jarmuvek.add(new Jarmu(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; jarmuvek.length; i++ )\r\n\/\/    {\r\n\/\/      System.out.println(jarmuvek&#x5B;i].toString());\r\n\/\/    }\r\n\r\n    \/\/ 2. feladat\r\n    System.out.println(&quot;2. feladat Adja meg a jarmu sorszamat!&quot;);\r\n    Scanner sc = new Scanner(System.in);\r\n    int n = sc.nextInt();\r\n    \r\n    System.out.println(jarmuvek.get(n - 1).getHova());\r\n    \r\n    \r\n    \/\/ 3. feladat\r\n    System.out.println(&quot;3. feladat&quot;);\r\n    \r\n    \/\/ 1. verzi\u00f3\r\n    \/\/ felt\u00e9telezz\u00fck hogy van legal\u00e1bb 2 ilyen j\u00e1rm\u0171!\r\n    int utolso = -1;\r\n    int utolsoElotti = -1;\r\n    \r\n    for( int i = jarmuvek.size() - 1; i &gt;= 0; i-- )\r\n    {\r\n      if( jarmuvek.get(i).getHova().equals(&quot;F&quot;))\r\n      {\r\n        if( utolso == -1 )\r\n        {\r\n          utolso = i;\r\n        }\r\n        else if( utolsoElotti == -1 )\r\n        {\r\n          utolsoElotti = i;\r\n          break;\r\n        }\r\n      }\r\n    }\r\n    \r\n    System.out.println(jarmuvek.get(utolso).getIndulas() - jarmuvek.get(utolsoElotti).getIndulas());\r\n    \r\n    \/\/ 2. verzi\u00f3\r\n    \/\/ felt\u00e9telezz\u00fck hogy van legal\u00e1bb 2 ilyen j\u00e1rm\u0171!\r\n    Jarmu jUtolso = null;\r\n    Jarmu jUtolsoE = null;\r\n    \r\n    int idx = jarmuvek.size() - 1;\r\n    while( jUtolsoE == null )\r\n    {\r\n      if( jarmuvek.get(idx).getHova().equals(&quot;F&quot;) )\r\n      {\r\n        if( jUtolso ==  null )\r\n        {\r\n          jUtolso = jarmuvek.get(idx);\r\n        }\r\n        else\r\n        {\r\n          jUtolsoE = jarmuvek.get(idx);\r\n        }\r\n      }\r\n      idx--;\r\n    }\r\n    \r\n    System.out.println(jUtolso.getIndulas() - jUtolsoE.getIndulas());\r\n    \r\n    \/\/ 4. feladat\r\n    System.out.println(&quot;4. feladat&quot;);\r\n    \r\n    int&#x5B;] alsoOraDb = new int&#x5B;24];\r\n    int&#x5B;] felsoOraDb = new int&#x5B;24];\r\n    \r\n    for( Jarmu jarmu : jarmuvek)\r\n    {\r\n      if( jarmu.getHonnan().equals(&quot;A&quot;) )\r\n      {\r\n        alsoOraDb&#x5B;jarmu.getOra()]++;\r\n      }\r\n      else\r\n      {\r\n        felsoOraDb&#x5B;jarmu.getOra()]++;\r\n      }\r\n    }\r\n\r\n    \r\n    for( int i = 0; i &lt; alsoOraDb.length; i++ )\r\n    {\r\n      if( alsoOraDb&#x5B;i] &gt; 0 || felsoOraDb&#x5B;i] &gt; 0 )\r\n      {\r\n        System.out.println(i + &quot; &quot; + alsoOraDb&#x5B;i] + &quot; &quot; + felsoOraDb&#x5B;i]);\r\n      }\r\n    }\r\n    \r\n    \/\/ 5. feladat\r\n    System.out.println(&quot;5. feladat&quot;);\r\n    \r\n\/\/ m\u00e1solat az eredeti list\u00e1r\u00f3l, hogy annak a sorrendje ne v\u00e1ltozzon\r\n    ArrayList&lt;Jarmu&gt; masolat = new ArrayList&lt;&gt;(jarmuvek);\r\n\r\n    \r\n    for( int i = 0; i &lt; masolat.size() - 1; i++ )\r\n    {\r\n      for( int j = i + 1; j &lt; masolat.size(); j++ )\r\n      {\r\n        if( masolat.get(i).getSebesseg() &lt; masolat.get(j).getSebesseg() )\r\n        {\r\n          Jarmu csere = masolat.get(i);\r\n          masolat.set(i, masolat.get(j));\r\n          masolat.set(j, csere);\r\n        }\r\n      }\r\n    }\r\n    \r\n    for( int i = 0; i &lt; 10; i++ )\r\n    {\r\n      System.out.println(masolat.get(i).leggyorsabbToString() );\r\n    }\r\n    \r\n    \/\/ 6. feladat\r\n    \r\n    ArrayList&lt;Jarmu&gt; alsoba = new ArrayList&lt;&gt;();\r\n    \r\n    for( Jarmu jarmu : jarmuvek)\r\n    {\r\n      if( jarmu.getHova().equals(&quot;A&quot;) )\r\n      {\r\n        alsoba.add(jarmu);\r\n      }\r\n    }\r\n\r\n    try\r\n    {\r\n      RandomAccessFile ki = new RandomAccessFile(&quot;also.txt&quot;,&quot;rw&quot;);\r\n      ki.setLength(0);\r\n\r\n      ki.writeBytes(alsoba.get(0).idoFormaz(alsoba.get(0).getErkezes()) + &quot;\\n&quot;);\r\n      for( int i = 1; i &lt; alsoba.size(); i++ )\r\n      {\r\n        if( alsoba.get(i).getErkezes() &lt; alsoba.get(i - 1).getErkezes() )\r\n        {\r\n          alsoba.get(i).setErkezes(alsoba.get(i - 1).getErkezes());\r\n        }\r\n        ki.writeBytes(alsoba.get(i).idoFormaz(alsoba.get(i).getErkezes()) + &quot;\\n&quot;);\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  }\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. Az adatt\u00e1rol\u00f3 oszt\u00e1lyban t\u00f6bb \u00faj tulajdons\u00e1got is felveszek, <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2913\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s \u2013 2009 okt\u00f3beri emelt informatika \u00e9retts\u00e9gi \u2013 \u00fat\u00e9p\u00edt\u00e9s (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,22,86,144,25],"class_list":["post-2913","post","type-post","status-publish","format-standard","hentry","category-java-emelt-erettsegi-feladatok","tag-emelt-erettsegi","tag-emelt-informatika-erettsegi","tag-fajlkezeles","tag-java","tag-java_programozas","tag-randomaccessfile"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2913","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=2913"}],"version-history":[{"count":1,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2913\/revisions"}],"predecessor-version":[{"id":2914,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2913\/revisions\/2914"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}