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

Answer:

toUpperCase(char) returns the unaltered character for any character not lower case.


Complete Program

Here is the complete program. Copy it to your editor if you want to save it to a file and run it.

class FSTtester
{
  public static void main (String[] args)
  {
    String inString  = null;
    String outString = null;
    FST    fst       = new FST();

    inString = args[0];

    if ( (outString = fst.transform( inString )) != null )
      System.out.println("The string is transformed to:" + outString );
    else
      System.out.println("The string is rejected.");
  }
}

class FST
{
  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 ;
      }
      else 
        outString += current ;
    }

    return outString;

  }
}

Of course, if you really wanted to convert a string to upper case you would use the toUpperCase() method, not write your own.

Here is a run of the program:

C:\CAI\FiniteAutomata>javac FSTtester.java

C:\CAI\FiniteAutomata>java FSTtester "A room with A View"
The string is transformed to:A ROOM WITH A VIEW

C:\CAI\FiniteAutomata>

QUESTION 7:

Is this statement:

String outString = null;

the same as this statement:

String outString = ""; // the string consisting of no characters