Exemplos de Enumerações (Java): Difference between revisions

From Wiki**3

 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{TOCright}}
#REDIRECT [[ist:Exemplos de Enumerações (Java)]]
 
== Estações ==
 
  <B>public</B> <B>enum</B> Estação {
    <FONT COLOR="#000080">PRIMAVERA</FONT>, <FONT COLOR="#000080">VERÃO</FONT>, <FONT COLOR="#000080">OUTONO</FONT>, <FONT COLOR="#000080">INVERNO</FONT>
  }
 
== Planetas: 1ª versão ==
 
  <B>public</B> <B>enum</B> Planeta {
    <FONT COLOR="#000080">MERCÚRIO</FONT>  (<FONT COLOR="#800080">3.303e+23</FONT>, <FONT COLOR="#800080">2.4397e6</FONT>),
    <FONT COLOR="#000080">VÉNUS</FONT>    (<FONT COLOR="#800080">4.869e+24</FONT>, <FONT COLOR="#800080">6.0518e6</FONT>),
    <FONT COLOR="#000080">TERRA</FONT>    (<FONT COLOR="#800080">5.976e+24</FONT>, <FONT COLOR="#800080">6.37814e6</FONT>),
    <FONT COLOR="#000080">MARTE</FONT>    (<FONT COLOR="#800080">6.421e+23</FONT>, <FONT COLOR="#800080">3.3972e6</FONT>),
    <FONT COLOR="#000080">JÚPITER</FONT>  (<FONT COLOR="#800080">1.9e+27</FONT>,  <FONT COLOR="#800080">7.1492e7</FONT>),
    <FONT COLOR="#000080">SATURNO</FONT>  (<FONT COLOR="#800080">5.688e+26</FONT>, <FONT COLOR="#800080">6.0268e7</FONT>),
    <FONT COLOR="#000080">URANO</FONT>    (<FONT COLOR="#800080">8.686e+25</FONT>, <FONT COLOR="#800080">2.5559e7</FONT>),
    <FONT COLOR="#000080">NEPTUNO</FONT>  (<FONT COLOR="#800080">1.024e+26</FONT>, <FONT COLOR="#800080">2.4746e7</FONT>),
    <FONT COLOR="#000080">PLUTÃO</FONT>    (<FONT COLOR="#800080">1.27e+22</FONT>,  <FONT COLOR="#800080">1.137e6</FONT>);
 
    <I><FONT COLOR="#808080">// constante de gravita&ccedil;&atilde;o universal</FONT></I>
    <B>public</B> <FONT COLOR="#800000">static</FONT> <FONT COLOR="#800000">final</FONT> <FONT COLOR="#800000">double</FONT> G = <FONT COLOR="#800080">6.67300E-11</FONT>;  <I><FONT COLOR="#808080">// m&sup3;/kg/s&sup2;</FONT></I>
 
    <B>private</B> <FONT COLOR="#800000">double</FONT> _massa;  <I><FONT COLOR="#808080">// kg</FONT></I>
    <B>private</B> <FONT COLOR="#800000">double</FONT> _raio;  <I><FONT COLOR="#808080">// m</FONT></I>
 
    <B>public</B> <FONT COLOR="#800000">double</FONT> <FONT COLOR="#000080">massa</FONT>() { <B>return</B> _massa; }
    <B>public</B> <FONT COLOR="#800000">double</FONT> <FONT COLOR="#000080">raio</FONT>()  { <B>return</B> _raio;  }
 
    <FONT COLOR="#000080">Planeta</FONT>(<FONT COLOR="#800000">double</FONT> massa, <FONT COLOR="#800000">double</FONT> raio) { _massa = massa; _raio  = raio; }
 
    <I><FONT COLOR="#808080">// gravidade &agrave; superf&iacute;cie</FONT></I>
    <B>public</B> <FONT COLOR="#800000">double</FONT> <FONT COLOR="#000080">gravidade</FONT>() { <B>return</B> G * _massa / (_raio * _raio);  }
 
    <I><FONT COLOR="#808080">// peso (N) de outra massa (kg) &agrave; superf&iacute;cie</FONT></I>
    <B>public</B> <FONT COLOR="#800000">double</FONT> <FONT COLOR="#000080">peso</FONT>(<FONT COLOR="#800000">double</FONT> massa) { <B>return</B> massa * <FONT COLOR="#000080">gravidade</FONT>(); }
  }
 
== Experiência 1 ==
 
=== Programa de Teste ===
 
  <B>public</B> <B>class</B> Teste1 {
    <B>public</B> <FONT COLOR="#800000">static</FONT> <FONT COLOR="#800000">void</FONT> <FONT COLOR="#000080">main</FONT>(<B><FONT COLOR="#0095ff">String</FONT></B>[] args) {
      <B><FONT COLOR="#0095ff">System</FONT></B>.<FONT COLOR="#000080">out</FONT>.<FONT COLOR="#000080">println</FONT>(<FONT COLOR="#dd0000">&quot;** &quot;</FONT> + Esta&ccedil;&atilde;o.<FONT COLOR="#000080">PRIMAVERA</FONT>.<FONT COLOR="#000080">getClass</FONT>().<FONT COLOR="#000080">getCanonicalName</FONT>());
      <B>for</B> (Esta&ccedil;&atilde;o e : Esta&ccedil;&atilde;o.<FONT COLOR="#000080">values</FONT>()) {
        <B><FONT COLOR="#0095ff">System</FONT></B>.<FONT COLOR="#000080">out</FONT>.<FONT COLOR="#000080">println</FONT>(e);
      }
      <B><FONT COLOR="#0095ff">System</FONT></B>.<FONT COLOR="#000080">out</FONT>.<FONT COLOR="#000080">println</FONT>(<FONT COLOR="#dd0000">&quot;** &quot;</FONT> + Planeta.<FONT COLOR="#000080">MERC&Uacute;RIO</FONT>.<FONT COLOR="#000080">getClass</FONT>().<FONT COLOR="#000080">getCanonicalName</FONT>());
      <B>for</B> (Planeta p : Planeta.<FONT COLOR="#000080">values</FONT>()) {
        <B><FONT COLOR="#0095ff">System</FONT></B>.<FONT COLOR="#000080">out</FONT>.<FONT COLOR="#000080">println</FONT>(p);
      }
      <I><FONT COLOR="#808080">// Planeta x = new Planeta(2.5e22, 2e6);  // erro: tipo n&atilde;o pode ser instanciado</FONT></I>
    }
  }
 
=== Resultados ===
 
  <FONT COLOR="#800000"><B>$ java Teste1</B></FONT>
  ** Esta&ccedil;&atilde;o
  PRIMAVERA
  VER&Atilde;O
  OUTONO
  INVERNO
  ** Planeta
  MERC&Uacute;RIO
  V&Eacute;NUS
  TERRA
  MARTE
  J&Uacute;PITER
  SATURNO
  URANO
  NEPTUNO
  PLUT&Atilde;O
 
== Experiência 2 ==
 
=== Programa de Teste ===
 
  <B>public</B> <B>class</B> Teste2 {
    <B>public</B> <FONT COLOR="#800000">static</FONT> <FONT COLOR="#800000">void</FONT> <FONT COLOR="#000080">main</FONT>(<B><FONT COLOR="#0095ff">String</FONT></B>[] args) {
      <FONT COLOR="#800000">double</FONT> pesoNaTerra = <B><FONT COLOR="#0095ff">Double</FONT></B>.<FONT COLOR="#000080">parseDouble</FONT>(args[<FONT COLOR="#0000ff">0</FONT>]);
      <FONT COLOR="#800000">double</FONT> massa      = pesoNaTerra / Planeta.<FONT COLOR="#000080">TERRA</FONT>.<FONT COLOR="#000080">gravidade</FONT>();
      <B>for</B> (Planeta p : Planeta.<FONT COLOR="#000080">values</FONT>()) {
        <B><FONT COLOR="#0095ff">System</FONT></B>.<FONT COLOR="#000080">out.printf</FONT>(<FONT COLOR="#dd0000">&quot;Peso em </FONT><FONT COLOR="#ff00ff">%s</FONT><FONT COLOR="#dd0000"> &eacute; </FONT><FONT COLOR="#ff00ff">%f%n</FONT><FONT COLOR="#dd0000">&quot;</FONT>, p, p.peso(massa));
      }
    }
  }
 
=== Resultados ===
 
  <FONT COLOR="#800000"><B>$ java Teste2 81</B></FONT>
  Peso em MERC&Uacute;RIO &eacute; 30.598367
  Peso em V&Eacute;NUS &eacute; 73.304927
  Peso em TERRA &eacute; 81.000000
  Peso em MARTE &eacute; 30.677712
  Peso em J&Uacute;PITER &eacute; 204.975160
  Peso em SATURNO &eacute; 86.347259
  Peso em URANO &eacute; 73.315303
  Peso em NEPTUNO &eacute; 92.204574
  Peso em PLUT&Atilde;O &eacute; 5.416831

Latest revision as of 16:56, 7 November 2018