In: Computer Science
Working with Strings
The following program illustrates the use of some of the methods in the String class. Study the program to see what it is doing.
// ***************************************************************
// StringManips.java
// Test several methods for manipulating String objects
// *************************************************************** 
import java.util.Scanner;
public class StringManips
{
   public static void main (String[] args)
   {
      String phrase = new String ("This is a String test.");
      int phraseLength; // number of characters in the phrase String 
      int middleIndex; // index of the middle character in the String
      String firstHalf; // first half of the phrase String
      String secondHalf; // second half of the phrase String
     
      // compute the length and middle index of the phrase 
      phraseLength = phrase.length(); 
      middleIndex = phraseLength / 2;
      // get the substring for each half of the phrase 
      firstHalf = phrase.substring(0,middleIndex);
      secondHalf = phrase.substring(middleIndex, phraseLength);
      // concatenate the firstHalf at the end of the secondHalf 
      switchedPhrase = secondHalf.concat(firstHalf);
      //print information about the phrase
      System.out.println();
      System.out.println ("Original phrase: " + phrase);
      System.out.println ("Length of the phrase: " + phraseLength + " characters");
      System.out.println ("Index of the middle: " + middleIndex);
      System.out.println ("Character at the middle index: " + 
      phrase.charAt(middleIndex));
      System.out.println();
   }
}
The file StringManips.java contains this program. Save the file to your directory and compile and run it. Study the output and make sure you understand the relationship between the code and what is printed. Now modify the file as follows:
Declare a variable of type String named middle3 (put your declaration with the other declarations near the top of the program) and use an assignment statement and the substring method to assign middle3 the substring consisting of the middle three characters of phrase (the character at the middle index together with the character to the left of that and the one to the right - use variables, not the literal indices for this particular string).
Add a println statement to print out the result.
Save, compile, and run to test what you have done.
Declare two new variables city and state of type String. Add statements to the program to prompt the user to enter their hometown—the city and the state.
Read in the results using the appropriate Scanner class method - you will need to have the user enter city and state on separate lines.
Then using String class methods create and print a new string that consists of the state name (all in uppercase letters) followed by the city name (all in lowercase letters) followed again by the state name (uppercase).
So, if the user enters Lilesville for the city and North Carolina for the state, the program should create and print the string
NORTH CAROLINAlilesvilleNORTH CAROLINA
Add comment lines after each variable declaration, indicating what each variable represents.
Add comment lines for each section of the program, indicating what is done in that section.
Sample run:
Original phrase: This is a String test. Length of the phrase: 22 characters Index of the middle: 11 Character at the middle index: t Middle 3 characters: Str Enter your hometown city: Lilesville Enter your hometown state: North Carolina NORTH CAROLINA lilesville NORTH CAROLINA
import java.util.Scanner;
public class StringManips {
    /**
     * @param args the command line
arguments
     */
    public static void main(String[] args) {
        // TODO code application
logic here
         String phrase =
new String ("This is a String test.");
      int phraseLength; // number of
characters in the phrase String
      int middleIndex; // index of the
middle character in the String
      String firstHalf; // first half of
the phrase String
      String secondHalf; // second half of
the phrase String
      String middle3; // middle three of
the phrase string
      String middle3_left,middle3_right;
// left and right of middle value
      String city,state;
    
    
      //Scanner class to read the value
from user
      Scanner read=new
Scanner(System.in);
    
      // compute the length and middle
index of the phrase
      phraseLength =
phrase.length();
      middleIndex = phraseLength /
2;
      // get the substring for each half
of the phrase
      firstHalf =
phrase.substring(0,middleIndex);
      secondHalf =
phrase.substring(middleIndex, phraseLength);
      // concatenate the firstHalf at the
end of the secondHalf
      String switchedPhrase =
secondHalf.concat(firstHalf);
    
      middle3_left = ""+
phrase.charAt(middleIndex-1);
      middle3_right = ""+
phrase.charAt(middleIndex+1);
      //print information about the
phrase
      System.out.println();
      System.out.println ("Original
phrase: " + phrase);
      System.out.println ("Length of the
phrase: " + phraseLength + " characters");
      System.out.println ("Index of the
middle: " + middleIndex);
      System.out.println ("Character at
the middle index: " +
      phrase.charAt(middleIndex));
      System.out.println("Middle3
Characters: "+middle3_left+
             
phrase.charAt(middleIndex)+middle3_right);
    
      System.out.print("Enter your
hometown city: ");
      city = read.nextLine(); // reading
the name of city from user
    
      System.out.print("Enter your
hometown state:");
      state = read.nextLine(); // reading
the name of state from user
    
      String
state_allInCaps=state.toUpperCase(); // changing state all in caps
letter
    
      System.out.println(state_allInCaps+"
"+city+" "+state_allInCaps); // concatnating the city and
state
      System.out.println();
    }
  
}
output screen:
