//  Data Structures with Java by John R. Hubbard
//  Copyright McGraw-Hill, 2001
//  Example 1.8 on page 11
//  Testing the String class

public class Ex0108
{ public static void main(String[] args) 
  { String s="ABCDEFG";
    System.out.println("s = \"" + s + "\"");
    s = s + "HIJK";
    System.out.println("s = \"" + s + "\"");
    s += "LMNOP";
    System.out.println("s = \"" + s + "\"");
    System.out.println("s.length() = " + s.length());
    System.out.println("s.charAt(6) = " + s.charAt(6));
    System.out.println("s.indexOf('G') = " + s.indexOf('G'));
    System.out.println("s.indexOf('Z') = " + s.indexOf('Z'));
    System.out.println("s.indexOf('G',8) = " + s.indexOf('G',8));
    System.out.println("s.indexOf(\"GHIJ\") = " + s.indexOf("GHIJ"));
    if (s.startsWith("DE")) 
      System.out.println("s.startsWith(\"DE\")");
    else System.out.println("s does not start with \"DE\"");
    if (s.startsWith("DE",3))
      System.out.println("s.startsWith(\"DE\",3)");
    else
      System.out.println("s does not start with \"DE\" after 3 chars");
    if (s.endsWith("IJK")) System.out.println("s.endsWith(\"IJK\")");
    else System.out.println("s does not end with \"IJK\"");
    if (s.endsWith("NOP")) System.out.println("s.endsWith(\"NOP\")");
    else System.out.println("s does not end with \"NOP\"");
    s += "DABBADABBADO";
    System.out.println("s = \"" + s + "\"");
    s = s.replace('B','T');
    System.out.println("s = \"" + s + "\"");
    s = s.substring(7,10);
    System.out.println("s = \"" + s + "\"");
    s = s.toLowerCase();
    System.out.println("s = \"" + s + "\"");
    s = "  W XY  Z   ";
    System.out.println("s = \"" + s + "\"");
    System.out.println("s.length() = " + s.length());
    s = s.trim();
    System.out.println("s = \"" + s + "\"");
    System.out.println("s.length() = " + s.length());
  }
}
