{"id":358,"date":"2010-01-19T10:24:39","date_gmt":"2010-01-19T09:24:39","guid":{"rendered":"http:\/\/www.donatantonio.net\/blog\/?p=358"},"modified":"2010-01-19T10:24:39","modified_gmt":"2010-01-19T09:24:39","slug":"esercizio-7-distributore-di-bibite-simple-version","status":"publish","type":"post","link":"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/java\/esercizio-7-distributore-di-bibite-simple-version\/","title":{"rendered":"Esercizio 7 &#8211; Distributore di bibite (simple version)"},"content":{"rendered":"<p>Un distributore di bibite contiene lattine di bibite. Per comprare una bibita il cliente deve inserire un gettone. Quando il gettone \u00e8 inserito, una lattina cade nel contenitore dove pu\u00f2 essere presa dal cliente. Il distributore pu\u00f2 essere riempito con ulteriori lattine. Vogliamo essere in grado di determinare quante lattine e gettoni sono presenti nella macchina ad un dato istante.<\/p>\n<p>Classe Distributore.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nimport java.util.Scanner;\r\npublic class Distributore {\r\nint Coca;\r\nint Fanta;\r\nint Acqua;\r\nint gettone;\r\n\r\n  \/\/ Metodo Costruttore inizializzato con il numero di bibite\r\n  public Distributore(int c,int f, int a)\r\n  {\r\n      Coca = c;\r\n      Fanta = f;\r\n      Acqua = a;\r\n  }\r\n\r\n  Scanner in = new Scanner(System.in);\r\n\r\n  \/\/ Metodo che restituisce il totale di lattine nel distributore\r\n  public int totaleLattine()\r\n  {\r\n      int totale = Coca + Fanta + Acqua;\r\n      return totale;\r\n  }\r\n\r\n  \/\/ Metodo che restituisce il totale di gettoni nel distributore\r\n  public int totaleGettoni()\r\n  {\r\n      return gettone;\r\n  }\r\n\r\n  \/\/ Metodo che stampa il men\u00f9 di scelta bibite e relative quantit\u00e0\r\n  public void seleziona()\r\n  {\r\n      System.out.println(&quot;*** ECCO IL DISTRIBUTORE***&quot;);\r\n      System.out.println(&quot; 1 - Coca Cola _ quantit\u00e0 : &quot; + Coca);\r\n      System.out.println(&quot; 2 - Fanta _ quantit\u00e0 : &quot; + Fanta);\r\n      System.out.println(&quot; 3 - Acqua _ quantit\u00e0 : &quot; + Acqua);\r\n  }\r\n\r\n  \/\/ Metodo per l'acquisto di una bibita scelta\r\n  public void compra(int a)\r\n  {\r\n    System.out.println(&quot;Inserisci il gettone : (g)&quot;);\r\n    String g = in.nextLine();\r\n    if (g.equalsIgnoreCase(&quot;g&quot;))\r\n    {\r\n        if (a==1 &amp;&amp; Coca&gt;0){\r\n            int temp = Coca;\r\n            Coca = temp - 1;\r\n            gettone++;\r\n        }\r\n\r\n        if (a==2 &amp;&amp; Fanta&gt;0){\r\n            int temp = Fanta;\r\n            Fanta = temp - 1;\r\n            gettone++;\r\n        }\r\n\r\n        if ( a==3 &amp;&amp; Acqua&gt;0){\r\n            int temp = Acqua;\r\n            Acqua = temp - 1;\r\n            gettone++;\r\n        }\r\n        \r\n        if( a!= 1 &amp;&amp; a!=2 &amp;&amp; a!=3){\r\n        \tSystem.out.println(&quot;Bibita non presente&quot;);\r\n        }\r\n    }\r\n    else\r\n    {\r\n        System.out.println(&quot;Gettone non inserito&quot;);\r\n    }\r\n  }\r\n\r\n  \/\/ Metodo per l'aggiunta di nuove bibite nel distributore\r\n  public void inserisci(int a, int q)\r\n  {\r\n      if (a==1){\r\n          int temp = Coca;\r\n          Coca = temp + q;\r\n      }\r\n\r\n      if (a==2){\r\n          int temp = Fanta;\r\n          Fanta = temp + q;\r\n      }\r\n\r\n      if ( a==3){\r\n          int temp = Acqua;\r\n          Acqua = temp + q;\r\n      }\r\n       \r\n      if( a!= 1 &amp;&amp; a!=2 &amp;&amp; a!=3){\r\n          System.out.println(&quot;Bibita non presente&quot;);\r\n      }\r\n  }\r\n\r\n}\r\n<\/pre>\n<p>Classe di test TestDistributore.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nimport java.util.Scanner;\r\npublic class TestDistriub {\r\n\r\n  public static void main(String[] args)\r\n  {\r\n      Scanner in = new Scanner(System.in);\r\n\r\n      \/\/ Creo un nuovo distributore\r\n      Distributore d = new Distributore(2,2,2);\r\n\r\n      \/\/ Visualizzo il men\u00f9 di scelta\r\n      d.seleziona();\r\n\r\n      String risp = &quot;si&quot;;\r\n\r\n      \/\/ Scelta bibita\r\n      while (risp.equalsIgnoreCase(&quot;si&quot;))\r\n      {\r\n          System.out.println(&quot;Seleziona bibita : (1\/2\/3)&quot;);\r\n          int s = in.nextInt();\r\n          d.compra(s);\r\n          d.seleziona();\r\n          in.nextLine();\r\n          System.out.print(&quot;Vuoi un'altra bibita?&quot;);\r\n          risp = in.nextLine();\r\n      }\r\n\r\n      risp =&quot;si&quot;;\r\n\r\n      \/\/ Inserimento nuove bibite\r\n      while (risp.equalsIgnoreCase(&quot;si&quot;))\r\n      {\r\n          System.out.println(&quot;Vuoi inserire delle bibite?&quot;);\r\n          risp = in.nextLine();\r\n          if ( risp.equalsIgnoreCase(&quot;si&quot;))\r\n          {\r\n              System.out.println(&quot;Seleziona bibita : (1\/2\/3)&quot;);\r\n              int s = in.nextInt();\r\n              System.out.println(&quot;Seleziona la quantit\u00e0 : &quot;);\r\n              int qu = in.nextInt();\r\n              d.inserisci(s,qu);\r\n              d.seleziona();\r\n              in.nextLine();\r\n\r\n          }\r\n      }\r\n\r\n      \/\/ Visualizzo lo stato del distributore\r\n      System.out.println(&quot;Il totale di lattine ora presenti \u00e8 : &quot; + d.totaleLattine());\r\n      System.out.println(&quot;Il totale di gettoni ora presenti \u00e8 : &quot; + d.totaleGettoni());\r\n\r\n  }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Un distributore di bibite contiene lattine di bibite. Per comprare una bibita il cliente deve inserire un gettone. Quando il gettone \u00e8 inserito, una lattina cade nel contenitore dove pu\u00f2 essere presa dal cliente. Il distributore pu\u00f2 essere riempito con ulteriori lattine. Vogliamo essere in grado di determinare quante lattine e gettoni sono presenti nella macchina ad un dato istante.<\/p>\n<p>Classe Distributore.java<\/p>\n<p>import java.util.Scanner;<br \/>\npublic class Distributore {<br \/>\nint Coca;<br \/>\nint Fanta;<br \/>\nint Acqua;<br \/>\nint gettone;<\/p>\n<p>  \/\/ Metodo Costruttore inizializzato con il numero di bibite<br \/>\n  public Distributore(int c,int f, int a)<br \/>\n  {<br \/>\n      Coca = c;<br \/>\n      Fanta = f;<br \/>\n      Acqua = a;<br \/>\n  }<\/p>\n<p>  Scanner in = new Scanner(System.in);<\/p>\n<p>  \/\/ Metodo che restituisce il totale di lattine nel distributore<br \/>\n  public int totaleLattine()<br \/>\n  {<br \/>\n      int totale = Coca + Fanta + Acqua;<br \/>\n      return totale;<br \/>\n  }<\/p>\n<p>  \/\/ Metodo che restituisce il totale di gettoni nel distributore<br \/>\n  public int totaleGettoni()<br \/>\n  {<br \/>\n      return gettone;<br \/>\n  }<\/p>\n<p>  \/\/ Metodo che stampa il men\u00f9 di scelta bibite e relative quantit\u00e0<br \/>\n  public void seleziona()<br \/>\n  {<br \/>\n      System.out.println(&quot;*** ECCO IL DISTRIBUTORE***&quot;);<br \/>\n      System.out.println(&quot; 1 &#8211; Coca Cola _ quantit\u00e0 : &quot; + Coca);<br \/>\n      System.out.println(&quot; 2 &#8211; Fanta _ quantit\u00e0 : &quot; + Fanta);<br \/>\n      System.out.println(&quot; 3 &#8211; Acqua _ quantit\u00e0 : &quot; + Acqua);<br \/>\n  }<\/p>\n<p>  \/\/ Metodo per l&#8217;acquisto di una bibita scelta<br \/>\n  public void compra(int a)<br \/>\n  {<br \/>\n    System.out.println(&quot;Inserisci il gettone : (g)&quot;);<br \/>\n    String g = in.nextLine();<br \/>\n    if (g.equalsIgnoreCase(&quot;g&quot;))<br \/>\n    {<br \/>\n        if (a==1 &amp;&amp; Coca&gt;0){<br \/>\n            int temp = Coca;<br \/>\n            Coca = temp &#8211; 1;<br \/>\n            gettone++;<br \/>\n        }<\/p>\n<p>        if (a==2 &amp;&amp; Fanta&gt;0){<br \/>\n            int temp = Fanta;<br \/>\n            Fanta = temp &#8211; 1;<br \/>\n            gettone++;<br \/>\n        }<\/p>\n<p>        if ( a==3 &amp;&amp; Acqua&gt;0){<br \/>\n            int temp = Acqua;<br \/>\n            Acqua = temp &#8211; 1;<br \/>\n            gettone++;<br \/>\n        }<\/p>\n<p>        if( a!= 1 &amp;&amp; a!=2 &amp;&amp; a!=3){<br \/>\n        \tSystem.out.println(&quot;Bibita non presente&quot;);<br \/>\n        }<br \/>\n    }<br \/>\n    else<br \/>\n    {<br \/>\n        System.out.println(&quot;Gettone non inserito&quot;);<br \/>\n    }<br \/>\n  }<\/p>\n<p>  \/\/ Metodo per l&#8217;aggiunta di nuove bibite nel distributore<br \/>\n  public void inserisci(int a, int q)<br \/>\n  {<br \/>\n      if (a==1){<br \/>\n          int temp = Coca;<br \/>\n          Coca = temp + q;<br \/>\n      }<\/p>\n<p>      if (a==2){<br \/>\n          int temp = Fanta;<br \/>\n          Fanta = temp + q;<br \/>\n      }<\/p>\n<p>      if ( a==3){<br \/>\n          int temp = Acqua;<br \/>\n          Acqua = temp + q;<br \/>\n      }<\/p>\n<p>      if( a!= 1 &amp;&amp; a!=2 &amp;&amp; a!=3){<br \/>\n          System.out.println(&quot;Bibita non presente&quot;);<br \/>\n      }<br \/>\n  }<\/p>\n<p>}<\/p>\n<p>Classe di test TestDistributore.java<\/p>\n<p>import java.util.Scanner;<br \/>\npublic class TestDistriub {<\/p>\n<p>  public static void main(String[] args)<br \/>\n  {<br \/>\n      Scanner in = new Scanner(System.in);<\/p>\n<p>      \/\/ Creo un nuovo distributore<br \/>\n      Distributore d = new Distributore(2,2,2);<\/p>\n<p>      \/\/ Visualizzo il men\u00f9 di scelta<br \/>\n      d.seleziona();<\/p>\n<p>      String risp = &quot;si&quot;;<\/p>\n<p>      \/\/ Scelta bibita<br \/>\n      while (risp.equalsIgnoreCase(&quot;si&quot;))<br \/>\n      {<br \/>\n          System.out.println(&quot;Seleziona bibita : (1\/2\/3)&quot;);<br \/>\n          int s = in.nextInt();<br \/>\n          d.compra(s);<br \/>\n          d.seleziona();<br \/>\n          in.nextLine();<br \/>\n          System.out.print(&quot;Vuoi un&#8217;altra bibita?&quot;);<br \/>\n          risp = in.nextLine();<br \/>\n      }<\/p>\n<p>      risp =&quot;si&quot;;<\/p>\n<p>      \/\/ Inserimento nuove bibite<br \/>\n      while (risp.equalsIgnoreCase(&quot;si&quot;))<br \/>\n      {<br \/>\n          System.out.println(&quot;Vuoi inserire delle bibite?&quot;);<br \/>\n          risp = in.nextLine();<br \/>\n          if ( risp.equalsIgnoreCase(&quot;si&quot;))<br \/>\n          {<br \/>\n              System.out.println(&quot;Seleziona bibita : (1\/2\/3)&quot;);<br \/>\n              int s = in.nextInt();<br \/>\n              System.out.println(&quot;Seleziona la quantit\u00e0 : &quot;);<br \/>\n              int qu = in.nextInt();<br \/>\n              d.inserisci(s,qu);<br \/>\n              d.seleziona();<br \/>\n              in.nextLine();<\/p>\n<p>          }<br \/>\n      }<\/p>\n<p>      \/\/ Visualizzo lo stato del distributore<br \/>\n      System.out.println(&quot;Il totale di lattine ora presenti \u00e8 : &quot; + d.totaleLattine());<br \/>\n      System.out.println(&quot;Il totale di gettoni ora presenti \u00e8 : &quot; + d.totaleGettoni());<\/p>\n<p>  }<br \/>\n}<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[69],"tags":[82],"_links":{"self":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/posts\/358"}],"collection":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/comments?post=358"}],"version-history":[{"count":0,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/posts\/358\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/media?parent=358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/categories?post=358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/tags?post=358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}