JAVATM- The Beginnings

Enum Types

Suppose you wanted to write a program which prints the current month of the year. You could define a constant for each month, then assign one of the constants to a variable. You could also define an array of string references containing the name of each month.

Listing 1 - MonthsDriver.java (version 1)

public class MonthsDriver

{

    public final static byte JANUARY          =  0;

    public final static byte FEBRUARY         =  1;

    public final static byte MARCH            =  2;

    public final static byte APRIL            =  3;

    public final static byte MAY              =  4;

    public final static byte JUNE             =  5;

    public final static byte JULY             =  6;

    public final static byte AUGUST           =  7;

    public final static byte SEPTEMBER        =  8;

    public final static byte OCTOBER          =  9;

    public final static byte NOVEMBER         = 10;

    public final static byte DECEMBER         = 11;

    public final static byte NUMBER_OF_MONTHS = 12;

   

    public final static String[] months =

    {

        "JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE",

        "JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"

    };

   

    public static void main(String[] args)

    {

        byte month = MAY;

        System.out.println(months[month]);                // Prints MAY

    }

}

The program in Listing 1 works, but what if you had initialized the variable month as follows?

   byte month = 20;

Copyright ©2017 by Ralph Lecessi Incorporated. All rights reserved.



Back to ralphlecessi.com