import java.util.ArrayList; class Ticket { public Ticket( String event ) { int proposedSerialNumber; do { proposedSerialNumber = (int) ( Math.random( ) * 12 ); } while( validNumbers.contains( proposedSerialNumber ) ); eventName = event; serialNum = proposedSerialNumber; validNumbers.add( serialNum ); } Ticket( String event, int sn ) { eventName = event; serialNum = sn; } /* * Returns true if this ticket contains a valid serial number */ public boolean isValid( ) { return validNumbers.contains( serialNum ); } /* * Returns true if this ticket contains a valid serial number */ public static boolean isValidSerialNumber( int sn ) { return validNumbers.contains( sn ); } public int getSerialNumber( ) { return serialNum; } public void printAllValidSerialNumbers( ) { for( int s : validNumbers ) System.out.println( s ); } public String toString( ) { return "Ticket for " + eventName + " with ser# " + serialNum; } private int serialNum; private String eventName; private static ArrayList validNumbers = new ArrayList( ); static { validNumbers.add( 0 ); validNumbers.add( 1 ); validNumbers.add( 5 ); } } class StaticDemo { public static void main( String [ ] args ) { for( int i = 0; i < 12; i++ ) System.out.println( i + " " + Ticket.isValidSerialNumber( i ) ); } }