import java.util.*;

/**
 * Asks user for their age and then prints out what animal they are
 * in the Chinese Zodiac.
 * <p>
 * Known limitations: Doesn't handle January birthdays properly because
 * the Chinese New Year does not coincide with the Gregorian New Year.
 *
 * @author Zach Tomaszewski
 */
public class ChineseZodiac {

  public static void main(String[] args) {

    int currentYear = 2010;

    try {
      //ask user for age
      Scanner keybd = new Scanner(System.in);
      System.out.print("How old will you be at the end of this year? ");
      int age = keybd.nextInt();

      //convert age to year of birth
      int yob = currentYear - age;

      //convert year of birth to zodiac
      String sign;
      switch ((yob - 1900) % 12) {
        case 0: sign = "Rat"; break;
        case 1: sign = "Ox"; break;
        case 2: sign = "Tiger"; break;
        case 3: sign = "Rabbit"; break;
        case 4: sign = "Dragon"; break;
        case 5: sign = "Snake"; break;
        case 6: sign = "Horse"; break;
        case 7: sign = "Goat"; break;
        case 8: sign = "Monkey"; break;
        case 9: sign = "Rooster"; break;
        case 10: sign = "Dog"; break;
        case 11: sign = "Pig"; break;
        default: sign = "error"; break;  //should never happen
      }

      //print results
      System.out.println("You are a " + sign + ".");

    }catch (InputMismatchException ime) {
      System.out.println("Sorry, but you must enter an integer.");
    }
  }
}
