Exemplos de Enumerações (Java): Difference between revisions
From Wiki**3
No edit summary |
|||
Line 7: | Line 7: | ||
} | } | ||
== Planetas == | == Planetas: 1ª versão == | ||
<B>public</B> <B>enum</B> Planeta { | <B>public</B> <B>enum</B> Planeta { |
Revision as of 18:28, 12 October 2005
Estações
public enum Estação { PRIMAVERA, VERÃO, OUTONO, INVERNO }
Planetas: 1ª versão
public enum Planeta { MERCÚRIO (3.303e+23, 2.4397e6), VÉNUS (4.869e+24, 6.0518e6), TERRA (5.976e+24, 6.37814e6), MARTE (6.421e+23, 3.3972e6), JÚPITER (1.9e+27, 7.1492e7), SATURNO (5.688e+26, 6.0268e7), URANO (8.686e+25, 2.5559e7), NEPTUNO (1.024e+26, 2.4746e7), PLUTÃO (1.27e+22, 1.137e6); // constante de gravitação universal public static final double G = 6.67300E-11; // m³/kg/s² private double _massa; // kg private double _raio; // m public double massa() { return _massa; } public double raio() { return _raio; } Planeta(double massa, double raio) { _massa = massa; _raio = raio; } // gravidade à superfície public double gravidade() { return G * _massa / (_raio * _raio); } // peso (N) de outra massa (kg) à superfície public double peso(double massa) { return massa * gravidade(); } }
Experiência 1
Programa de Teste
public class Teste1 { public static void main(String[] args) { System.out.println("** " + Estação.PRIMAVERA.getClass().getCanonicalName()); for (Estação e : Estação.values()) { System.out.println(e); } System.out.println("** " + Planeta.MERCÚRIO.getClass().getCanonicalName()); for (Planeta p : Planeta.values()) { System.out.println(p); } // Planeta x = new Planeta(2.5e22, 2e6); // erro: tipo não pode ser instanciado } }
Resultados
$ java Teste1 ** Estação PRIMAVERA VERÃO OUTONO INVERNO ** Planeta MERCÚRIO VÉNUS TERRA MARTE JÚPITER SATURNO URANO NEPTUNO PLUTÃO
Experiência 2
Programa de Teste
public class Teste2 { public static void main(String[] args) { double pesoNaTerra = Double.parseDouble(args[0]); double massa = pesoNaTerra / Planeta.TERRA.gravidade(); for (Planeta p : Planeta.values()) { System.out.printf("Peso em %s é %f%n", p, p.peso(massa)); } } }
Resultados
$ java Teste2 81 Peso em MERCÚRIO é 30.598367 Peso em VÉNUS é 73.304927 Peso em TERRA é 81.000000 Peso em MARTE é 30.677712 Peso em JÚPITER é 204.975160 Peso em SATURNO é 86.347259 Peso em URANO é 73.315303 Peso em NEPTUNO é 92.204574 Peso em PLUTÃO é 5.416831