SlideShare una empresa de Scribd logo
1 de 6
Programación II Tema 2 Tipos de Datos Enumerados 2008/2009 Juanan Pereira Departamento de LSI Facultad de Informática Donostia [email_address]
Un  tipo enumerado  es un tipo cuyos campos forman un conjunto fijo de constantes.  Ejemplos : ,[object Object]
días de la semana  (LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SÁBADO, DOMINGO)
public   enum   DiaSemana   { LUNES ,   MARTES ,   MIERCOLES ,   JUEVES ,   VIERNES ,   SABADO ,   DOMINGO } Tipos enumerados en Java
public   class   Prueba   { Dia   day ; public   Prueba(Dia   day)   { this . day   =   day; } public   void   comoEs()   { switch   ( day )   { case   LUNES :   System. out .println( "Lunes malos." ); break ; case   VIERNES :   System. out .println( "Viernes mejor." ); break ; case   SABADO : case   DOMINGO :   System. out .println( "Fin de semana lo mejor." ); break ; default :   System. out .println( "Resto días laborables, así­-así." ); break ; } } public   static   void   main(String[]   args)   { Prueba   primerDiaSemana   =   new   Prueba(Dia. LUNES ); primerDiaSemana.comoEs(); Prueba   tercerDiaSemana   =   new   Prueba(Dia. MIERCOLES ); tercerDiaSemana.comoEs(); System. out .println( "Días de la semana:" ); for   (Dia   d   :   Dia. values ())   { System. out .print(d   +   " " ); } }
public   enum   Planet   { MERCURY   (3.303e+23,   2.4397e6), VENUS   (4.869e+24,   6.0518e6), EARTH   (5.976e+24,   6.37814e6), MARS   (6.421e+23,   3.3972e6), JUPITER   (1.9e+27,   7.1492e7), SATURN   (5.688e+26,   6.0268e7), URANUS   (8.686e+25,   2.5559e7), NEPTUNE   (1.024e+26,   2.4746e7); private   final   double   mass ;   // in kilograms private   final   double   radius ;   // in meters Planet( double   mass,   double   radius)   { this . mass   =   mass; this . radius   =   radius; } private   double   mass()   {   return   mass ;   } private   double   radius()   {   return   radius ;   } // universal gravitational constant  (m3 kg-1 s-2) public   static   final   double   G   =   6.67300E-11;

Más contenido relacionado

Destacado

Agile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs LeanAgile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs Lean
Abdul Wahid
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
Abdul Wahid
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
Abdul Wahid
 

Destacado (10)

IT träff 080417
IT träff 080417IT träff 080417
IT träff 080417
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client Tier
 
Emprendimiento y Gestión
Emprendimiento y GestiónEmprendimiento y Gestión
Emprendimiento y Gestión
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
ModelAdmin in SilverStripe 2.3
ModelAdmin in SilverStripe 2.3ModelAdmin in SilverStripe 2.3
ModelAdmin in SilverStripe 2.3
 
Agile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs LeanAgile Software Development Scrum Vs Lean
Agile Software Development Scrum Vs Lean
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
What's new in Silverstripe 4? (StripeCon APAC 2016)
What's new in Silverstripe 4? (StripeCon APAC 2016)What's new in Silverstripe 4? (StripeCon APAC 2016)
What's new in Silverstripe 4? (StripeCon APAC 2016)
 

Enum ProgII

  • 1. Programación II Tema 2 Tipos de Datos Enumerados 2008/2009 Juanan Pereira Departamento de LSI Facultad de Informática Donostia [email_address]
  • 2.
  • 3. días de la semana (LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SÁBADO, DOMINGO)
  • 4. public enum DiaSemana { LUNES , MARTES , MIERCOLES , JUEVES , VIERNES , SABADO , DOMINGO } Tipos enumerados en Java
  • 5. public class Prueba { Dia day ; public Prueba(Dia day) { this . day = day; } public void comoEs() { switch ( day ) { case LUNES : System. out .println( "Lunes malos." ); break ; case VIERNES : System. out .println( "Viernes mejor." ); break ; case SABADO : case DOMINGO : System. out .println( "Fin de semana lo mejor." ); break ; default : System. out .println( "Resto días laborables, así­-así." ); break ; } } public static void main(String[] args) { Prueba primerDiaSemana = new Prueba(Dia. LUNES ); primerDiaSemana.comoEs(); Prueba tercerDiaSemana = new Prueba(Dia. MIERCOLES ); tercerDiaSemana.comoEs(); System. out .println( "Días de la semana:" ); for (Dia d : Dia. values ()) { System. out .print(d + " " ); } }
  • 6. public enum Planet { MERCURY (3.303e+23, 2.4397e6), VENUS (4.869e+24, 6.0518e6), EARTH (5.976e+24, 6.37814e6), MARS (6.421e+23, 3.3972e6), JUPITER (1.9e+27, 7.1492e7), SATURN (5.688e+26, 6.0268e7), URANUS (8.686e+25, 2.5559e7), NEPTUNE (1.024e+26, 2.4746e7); private final double mass ; // in kilograms private final double radius ; // in meters Planet( double mass, double radius) { this . mass = mass; this . radius = radius; } private double mass() { return mass ; } private double radius() { return radius ; } // universal gravitational constant (m3 kg-1 s-2) public static final double G = 6.67300E-11;
  • 7. public enum Planet { [...] double surfaceGravity() { return G * mass / ( radius * radius ); } double surfaceWeight( double otherMass) { return otherMass * surfaceGravity(); } public static void main(String[] args) { double earthWeight = Double. parseDouble (args[0]); double mass = earthWeight/ EARTH .surfaceGravity(); for (Planet p : Planet. values ()) System. out .printf( "Your weight on %s is %f%n" , p, p.surfaceWeight(mass)); } } $ java Planet 175 Your weight on MERCURY is 66.107583 Your weight on VENUS is 158.374842 Your weight on EARTH is 175.000000