<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/** This class contains static methods used to
  anglicize integers in the range 1..999,999.
  Method anglicize contains solution */
public class Anglicize {
    
    /** = English equivalent of n.
      Precondition: 0 &lt; n &lt; 1,000,000.
      Examples:
      3:      "three"
      45:     "forty five"
      100:    "one hundred"
      127:    "one hunded twenty seven"
      1001:   "one thousand one"
      999099: "nine hundred ninety thousand ninety nine*/
    public static String anglicize(int n) {
        if ( n &lt; 20) {
            return ang1(n);
        }
        
        // n &gt;= 20
        if ( n &lt; 100) {
            return tens(n/10) + (n%10 == 0 ? "" :" " + ang1(n%10));
        }
        
        // n &gt;= 100
        if (n &lt; 1000) {
            return ang1(n/100) +  " hundred" + (n%100 == 0 ? "" : " " + anglicize(n%100));
        }
        
        // n &gt;= 1000
        return anglicize(n/1000) +  " thousand" + (n%1000 == 0 ? "" : " " + anglicize(n%1000));
    } 
    
    /** = english equiv of n.
      Precondition: n in 1..19 */
    public static String ang1(int n) {
         if (n == 1) return "one";
         if (n == 2) return "two";
         if (n == 3) return "three";
         if (n == 4) return "four";
         if (n == 5) return "five";
         if (n == 6) return "six";
         if (n == 7) return "seven";
         if (n == 8) return "eight";
         if (n == 9) return "nine";
         if (n == 10) return "ten";
         if (n == 11) return "eleven";
         if (n == 12)return "twelve";
         if (n == 13) return "thirteen";
         if (n == 14) return "fourteen";
         if (n == 15) return "fifteen";
         if (n == 16) return "sixteen";
         if (n == 17) return "seventeen";
         if (n == 18) return "eighteen";
        return "nineteen";
        
    }
    
    
    
    
    
    
    /** = tens-word for n (in 2..9), e.g.
        tens(3) = "thirty"*/
    public static String tens(int n) {
        if (n == 2) return "twenty";
        if (n == 3) return "thirty";
        if (n == 4) return "forty";
        if (n == 5) return "fifty";
        if (n == 6) return "sixty";
        if (n == 7) return "seventy";
        if (n == 8) return "eighty";
        return "ninety";  
    }
}
</pre></body></html>