SlideShare a Scribd company logo
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 : direcciones cardinales (NORTE, SUR, ESTE, OESTE)
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   +   " \t" ); } }
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;

More Related Content

PPT
1 Gedoc Present Gest Documentale
PPT
ArcReady - Professional Patterns On The Job
PPT
SISEL Comp Plan by Teamsizzle
PPT
維基經濟學 第一章
PDF
Babelium IEB 2011
PDF
Clase5_Python-CTIC
PPT
ArcReady - Scalable And Usable Web Applications
PPT
Sisel Intro Teamsizzle
1 Gedoc Present Gest Documentale
ArcReady - Professional Patterns On The Job
SISEL Comp Plan by Teamsizzle
維基經濟學 第一章
Babelium IEB 2011
Clase5_Python-CTIC
ArcReady - Scalable And Usable Web Applications
Sisel Intro Teamsizzle

Viewers also liked (10)

PPT
IT träff 080417
PPTX
ArcReady - Architecting For The Client Tier
PPTX
Emprendimiento y Gestión
PPT
ArcReady - Architecting For The Cloud
KEY
ModelAdmin in SilverStripe 2.3
PPT
Agile Software Development Scrum Vs Lean
PPTX
Software Reengineering
PPT
Web Application Security
PPT
Web Engineering
PDF
What's new in Silverstripe 4? (StripeCon APAC 2016)
IT träff 080417
ArcReady - Architecting For The Client Tier
Emprendimiento y Gestión
ArcReady - Architecting For The Cloud
ModelAdmin in SilverStripe 2.3
Agile Software Development Scrum Vs Lean
Software Reengineering
Web Application Security
Web Engineering
What's new in Silverstripe 4? (StripeCon APAC 2016)
Ad

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. Un tipo enumerado es un tipo cuyos campos forman un conjunto fijo de constantes. Ejemplos : direcciones cardinales (NORTE, SUR, ESTE, OESTE)
  • 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 + " \t" ); } }
  • 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