{"id":1558,"date":"2015-07-19T23:02:28","date_gmt":"2015-07-19T21:02:28","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=1558"},"modified":"2015-07-19T23:29:15","modified_gmt":"2015-07-19T21:29:15","slug":"java-objektumok-konyv-megoldasa","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=1558","title":{"rendered":"Java objektumok &#8211; K\u00f6nyv megold\u00e1sa"},"content":{"rendered":"<h3><strong>Csak akkor olvass tov\u00e1bb, ha a <a href=\"http:\/\/www.webotlet.hu\/?p=1541\">K\u00f6nyv<\/a> feladatot megoldottad, vagy nem siker\u00fclt megoldani.<\/strong><\/h3>\n<p>Az alap feladatot a fenti linken megtal\u00e1lod. A feladatban t\u00f6bb helyen \u00edrtam megjegyz\u00e9seket, hogy k\u00f6nnyebben k\u00f6vethet\u0151 legyen a feladat megold\u00e1sa. Ha j\u00f3l megn\u00e9zed a feladatot, akkor a hibakezel\u00e9s a program legnagyobb r\u00e9sze, a t\u00e9nyleges programm\u0171k\u00f6d\u00e9s (v\u00e1ltoz\u00f3k kezel\u00e9se) ehhez k\u00e9pest j\u00f3val kevesebb. A feladat megold\u00e1s\u00e1t NetBeans project form\u00e1ban <a href=\"http:\/\/www.webotlet.hu\/wp-content\/uploads\/2015\/07\/Webotlet_Konyv.7z\">innen<\/a> let\u00f6ltheted.<\/p>\n<p>K\u00f6nyv objektum<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n\u00a0*\r\n\u00a0* @author http:\/\/webotlet.hu\r\n\u00a0*\/\r\npackage webotlet_konyv;\r\n\r\npublic class Konyv\r\n{\r\n\r\n\u00a0 int oldalszam;\r\n\u00a0 int aktualis;\r\n\u00a0 boolean nyitva;\r\n\r\n\u00a0 public Konyv()\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 oldalszam = (int) (Math.random() * 101)+50;\r\n\u00a0\u00a0\u00a0 aktualis = 0;\r\n\u00a0\u00a0\u00a0 nyitva = false;\r\n\u00a0 }\r\n\r\n\u00a0 public void kinyit()\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 if( nyitva )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;A konyv mar nyitva van.&quot; );\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 return;\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 nyitva = true;\r\n\/\/ &#x5B;1;oldalszam]\r\n\u00a0\u00a0\u00a0 aktualis = (int) (Math.random() * oldalszam) + 1;\r\n\u00a0\u00a0\u00a0 System.out.println( &quot;Kinyitottad a konyvet a &quot;+aktualis+\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &quot; oldalon.&quot; );\r\n\u00a0 }\r\n\r\n\u00a0 public void bezar()\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 if( !nyitva )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;A konyv mar be van zarva.&quot; );\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 return;\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 nyitva = false;\r\n\u00a0\u00a0\u00a0 aktualis = 0;\r\n\u00a0\u00a0\u00a0 System.out.println( &quot;Bezartad a konyvet.&quot; );\r\n\u00a0 }\r\n\r\n\u00a0 public void nez()\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 if( nyitva )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;A konyv nyitva van a &quot;+aktualis+\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &quot; oldalon.&quot; );\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0 else\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;A konyv zarva van.&quot; );\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 public void lapoz( int irany )\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 if( nyitva == false )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;A konyv zarva van, nem lapozhato.&quot; );\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 return;\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\/\/ elore lapozas\r\n\u00a0\u00a0\u00a0 if( irany &gt; 0 )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 aktualis++;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;Lapoztal egyet hatra.&quot; );\r\n\u00a0\u00a0\u00a0 }\r\n\/\/ egyebkent hatra lapozas\r\n\u00a0\u00a0\u00a0 else\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 aktualis--;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;Lapoztal egyet elore.&quot; );\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0 if( aktualis == 0 || aktualis == oldalszam + 1 )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 bezar();\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 public void porget( int irany )\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 int elozo, mennyit;\r\n\u00a0\u00a0\u00a0 if( nyitva == false )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;A konyv zarva van, nem porgetheto.&quot; );\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 return;\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0\u00a0 elozo = aktualis;\r\n\r\n\/\/ elore porgetes\r\n\u00a0\u00a0\u00a0 if( irany &gt; 0 )\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 if( aktualis == oldalszam )\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;Mar az utolso oldalon tartasz, arra &quot;+\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &quot;nem porgetheted.&quot; );\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\/\/ a fennmarado oldalak &#x5B;aktualis+1;oldalszam]\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 mennyit = (int)(Math.random()*(oldalszam-aktualis))+aktualis+1;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 aktualis = mennyit;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;Hatra porgettel &quot;+\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Math.abs(elozo-aktualis)+&quot; oldalt.&quot; );\r\n\u00a0\u00a0\u00a0 }\r\n\/\/ egyebkent hatra fele porgetes\r\n\u00a0\u00a0\u00a0 else\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 if( aktualis == 1 )\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;Mar az elso oldalon tartasz, arra &quot;+\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &quot;nem porgetheted.&quot; );\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\/\/ lehetseges oldalak &#x5B;1;aktualis-1]\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 mennyit = (int)(Math.random()*(aktualis-1))+1;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 aktualis = mennyit;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println( &quot;Elore porgettel &quot;+\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Math.abs(elozo-aktualis)+&quot; oldalt.&quot; );\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 @Override\r\n\u00a0 public String toString()\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 return &quot;Konyv{&quot; + &quot;oldalszam=&quot; + oldalszam + &quot;, aktualis=&quot; +\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 aktualis + &quot;, nyitva=&quot; + nyitva + '}';\r\n\u00a0 }\r\n\u00a0\r\n}\r\n<\/pre>\n<p>Vez\u00e9rl\u0151 objektum<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/**\r\n\u00a0*\r\n\u00a0* @author http:\/\/webotlet.hu\r\n\u00a0*\/\r\npackage webotlet_konyv;\r\n\r\npublic class Webotlet_Konyv\r\n{\r\n\u00a0 public static void main( String&#x5B;] args )\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 Konyv k1 = new Konyv();\r\n\u00a0\u00a0\u00a0 System.out.println( k1 );\r\n\u00a0\u00a0\u00a0 k1.kinyit();\r\n\u00a0\u00a0\u00a0 k1.kinyit();\r\n\u00a0\u00a0\u00a0 k1.nez();\r\n\u00a0\u00a0\u00a0 k1.lapoz( 1 );\r\n\u00a0\u00a0\u00a0 k1.nez();\r\n\u00a0\u00a0\u00a0 k1.bezar();\r\n\u00a0\u00a0\u00a0 k1.bezar();\r\n\u00a0\u00a0\u00a0 k1.kinyit();\r\n\u00a0\u00a0\u00a0 k1.lapoz( 1 );\r\n\u00a0\u00a0\u00a0 k1.nez();\r\n\u00a0\u00a0\u00a0 k1.porget( 1 );\r\n\u00a0\u00a0\u00a0 k1.nez();\r\n\u00a0\u00a0\u00a0 k1.porget( 1 );\r\n\u00a0\u00a0\u00a0 k1.nez();\r\n\u00a0\u00a0\u00a0 k1.porget( 1 );\r\n\u00a0\u00a0\u00a0 k1.nez();\r\n\u00a0\u00a0\u00a0 k1.porget( 1 );\r\n\u00a0\u00a0\u00a0 k1.nez();\r\n\u00a0 }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Csak akkor olvass tov\u00e1bb, ha a K\u00f6nyv feladatot megoldottad, vagy nem siker\u00fclt megoldani. Az alap feladatot a fenti linken megtal\u00e1lod. A feladatban t\u00f6bb helyen \u00edrtam megjegyz\u00e9seket, hogy k\u00f6nnyebben k\u00f6vethet\u0151 legyen a feladat megold\u00e1sa. Ha j\u00f3l megn\u00e9zed a feladatot, akkor a <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=1558\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java objektumok &#8211; K\u00f6nyv megold\u00e1sa<\/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":[140],"tags":[86,20,143],"class_list":["post-1558","post","type-post","status-publish","format-standard","hentry","category-java-objektum-feladatok-megoldasai","tag-java","tag-objektum","tag-programozas"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1558","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=1558"}],"version-history":[{"count":8,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1558\/revisions"}],"predecessor-version":[{"id":1569,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1558\/revisions\/1569"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}