
import static java.lang.System.*;

public class HelpForLoops 
{
  
  // remove all occurrences of letter from String s
  // Example: String s = "Hello World"
  //          letter = 'l'
  //          ns would be "Heo Word"
  public static String removeLetter(String s, char letter)
  {
     // create a new String to hold the result
     // call your variable ns
     // and set it to ""
     String ns = "";
     
     // we will add any letter that is 
     // NOT equal to letter
     // So, let's loop through each character of 
     // the String s
     
     for (int i=0; i<s.length(); i++)
     {
         // get the ith character from the String s
         char ch = s.charAt(i);
                 
         // see if ch is NOT equal to letter
         if (ch != letter)
         {
             // add the ch to ns
             ns = ns + ch;
         }
       
         
     }
     
     // return the new String ns which does
     // NOT have any character that is equal
     // to letter.
     return ns;
  }
    
  public static boolean isPrime(int number)
  {
      if (number < 2)
        return false;
      
      int count = 0; // no factors found yet
      
      for (int d=1; d <= number; d++)
      {
         if (number % d == 0)
            count++; // found a factor
      }
  
      if (count == 2)
        return true;
      else // not really needed but ...
        return false;
  }
  
  
  public static boolean isFirstLetterAVowelOrDigit(String s)
  {
    s = s.toLowerCase();
    
    char letter = s.charAt(0);
    
/*    
    if (   letter == 'a' || letter == 'e' 
        || letter == 'i' || letter == 'o'
        || letter == 'u')
      return true;
*/
    
    switch (letter)
    {
      case 'a':
      case 'e':
      case 'i':
      case 'o':
      case 'u': return true;       
    }
    
    if (   letter >= '0' && letter <= '9')
      return true;
    
    return false;
  }
  
  public static boolean isLastLetterAVowelOrDigit(String s)
  {
    s = s.toLowerCase();
    
    int posOfLastLetter = s.length() - 1;
    
    char letter = s.charAt(posOfLastLetter);
    
/*    
    if (   letter == 'a' || letter == 'e' 
        || letter == 'i' || letter == 'o'
        || letter == 'u')
      return true;
*/
    
    switch (letter)
    {
      case 'a':
      case 'e':
      case 'i':
      case 'o':
      case 'u': return true;       
    }
    
    if (   letter >= '0' && letter <= '9')
      return true;
    
    return false;
  }
  
  
  public static void main(String[] args) 
  {
       
  out.println("The for loop");
  out.println();
  out.println();
  
  /*
  out.println();
  out.println("for (init section; boolean expression; finalization)");
  out.println("{");
  out.println("    body of for loop indented");
  out.println("}");
  out.println();
  out.println();
  */


  
  System.out.println("HeLlo Caps");
  String s = "HeLlo Caps";
  // loop from index 0 through the String's last char
  for (int i = 0; i < s.length(); i += 1) // or i++
  {
    char ch = s.charAt(i);
    System.out.print("i="+i+"  ");
    if (ch >= 'A' && ch <= 'Z')
    {
       System.out.print("ch=" + ch + "  ");
    }
  }
  out.println();
  out.println();
 
  
  
  System.out.println("Hello in Reverse");
  s = "Hello";
  // let's loop from the last character to the 
  // first character
  for (int i = s.length()-1; i >= 0; i--)
  {
    char ch = s.charAt(i); // get the ith char
    // OR 
    // String ch = s.substring(i,i+1);
    System.out.print("i=" + i + "  ch=" + ch + "  ");
  }
  out.println();
  out.println();
  
 
  System.out.println("Hello World by 2");
  s = "Hello World";
  for (int i=0; i < s.length(); i += 2)
  {
    char ch = s.charAt(i);
    // OR 
    // String ch = s.substring(i,i+1);
    System.out.print("i=" + i + "  ch=" + ch + "  ");
  }
  out.println();
  out.println();


  System.out.println("Numbers 1");
  int number = 18;
  for (int d=1; d<=number; d++)
  {
    // see if number is divisible by d
    if (number % d == 0)
    {
       System.out.print(d + " ");
    }
  }
  out.println();
  out.println();  
 
  
  System.out.println("Numbers 2");
  number = 17;
  int count = 0;
  for (int d=1; d <= number; d++)
  {
    if (number % d == 0)
       count++;
  }
  out.println();
  if (count == 2)
      out.println(number + " is a prime example!"); 
  out.println();
  out.println();  
  
  s = "Hello World";
  out.print(s);
  s = removeLetter(s, 'l');
  out.println(" with l removed is " + s);  
  out.println();
  out.println();
  } // end of main method
  
} // end of class


