go to previous page   go to home page   go to next page


No. Java String objects are immutable; they cannot be changed.

transform() Method

Upper Case Automaton

Here is the transform method for the transducer. Since there is only one state (and no reject state) the method is particularly easy.

The toUpperCase(char) method of the Character class takes a char as an argument and returns an uppercase version of that char.

  public String transform(String str)
    char current;            // the current character
    char caps;
    int  index = 0 ;         // index of the current character

    String outString = "";   // the output string the FST produces
                             // (initialized to an empty string)

    if ( str == null ) return null;  // check for legal argument

    while ( index < str.length() )
      current = str.charAt( index++ ) ;

      if ( current >= 'a' && current <= 'z' )
        caps = Character.toUpperCase( current );
        outString += caps ;
        outString += current ;

    return outString;


What does toUpperCase(char) return if the char is something other than a lower case character?