import java.util.Scanner;

public class TwoStrings {
  public static void main(String[] args) {
    // input two words
    Scanner in = new Scanner(System.in);
    System.out.print("Enter two strings: ");
    String string1 = in.next();
    String string2 = in.next();
    System.out.println("The two strings are " + string1
                         + " and " + string2);
    
    // get lengths of strings
    int length1 = string1.length();
    int length2 = string2.length();
    System.out.println("The two lengths are " + length1
                         + " and " + length2);
    
    // compare lengths of strings
    // get and compare substring of longer string to shorter string
    if ( length1 < length2 ) {
      String substring2 = string2.substring(0, length1);
      if ( string1.equals(substring2) ) {
        System.out.println("The first string is a prefix of the second string.");
      }
    } else if ( length1 == length2 && string1.equals(string2) ) {
      System.out.println("The strings are equal.");
    } else if ( length1 > length2 ) {
      String substring1 = string1.substring(0, length2);
      if (string2.equals(substring1)) {
        System.out.println("The second string is a prefix of the first string.");
      }
    } else if ( string1.equalsIgnoreCase(string2) ) {
      System.out.println("The strings are equal ignoring case.");
    }
    
    // illustrate compareTo method
    int compare = string1.compareTo(string2);
    if ( compare < 0 )
      System.out.println(string1 + " is before " + string2);
    else if ( compare == 0 )
      System.out.println(string1 + " is equal to " + string2);
    else if ( compare > 0 )
      System.out.println(string1 + " is after " + string2);
    
    // illustrate compareToIgnoreCase
    compare = string1.compareToIgnoreCase(string2);
    if ( compare < 0 )
      System.out.println("Ignoring case, " + string1 + " is before " + string2);
    else if ( compare == 0 )
      System.out.println("Ignoring case, " + string1 + " is equal to " + string2);
    else if ( compare > 0 )
      System.out.println("Ignoring case, " + string1 + " is after " + string2);
  } 
}