Assignment 14
Due Thursday, March 1 at 11:20am on Canvas


Assignment 14.1: Loopy Characters (10 pts)

  • Counting loops are very commonly used in programming to ... count things.
  • In this program we will explore various ways to count in Java using for loops.
  • Copy and paste the starter code into a file called LoopChars.java:
import java.util.Scanner;

public class LoopChars {

    public static void main(String[] args) {
        int n; // the integer number
        String ch; // the single character
        Scanner input = new Scanner(System.in);
        System.out.println("** Loopy Characters!**\n");
        System.out.print("Enter an integer between 1 and 20: ");
        n = input.nextInt();

        //Put your code here to test for input mismatch exception (String entered, not number)

        System.out.print("Enter a single character: ");
        ch = input.next();
        System.out.println();

        // Repeating the char n times with a for-loop.
        System.out.println("#1. Printing " + ch + " " + n + " times:");
        // Put your code here
        System.out.println("\n");

        // Repeating the char n times with stars on odd indexes.
        System.out.println("#2. Printing " + ch + " character " + n + " times substituting '*' on odd indexes:");
        // Put your code here
        System.out.println("\n");

        // Repeating the character n times with tick marks (+) every 5 chars
        System.out.println("#3. Printing " + ch + " character " + n + " times substituting (+) every fifth character:\n");
        // Put your code here
        System.out.println("\n");

        System.out.println("#4. Printing " + n + " lines of the previous loop:");
        // Hint: put your for-loop from the previous challenge inside another
        // for-loop that has a different counting variable.
        // Put your code here

       input.close();
    }
}

  • User input is already coded into the worksheet, consisting of an integer number, n, and a single character.
  • Do not add any other input commands or change the input order.
  • Use a while loop to test for input mismatch exception if the user enters a String instead of integer data
  • (#1) Use a for-loop to print the character entered by the user the number of times specified by the integer number typed in. See the Example Run for an example.
  • (#2) Use a third for-loop to print the character n / 2 times with a '*' instead of the character on even counts of the loop as shown in the Example Run.
    • Hint: Use and if-statement to test for even or odd counts of the loop.
  • (#3) Use a fourth for-loop to print the character n times with a tick mark '+' substituted every fifth character as shown in the Example Run.
    • Hint: Use and if-statement to test for the every fifth count of the loop. Start the for-loop count from 1, but check the end condition! Only print the number if nothing else is printed.
  • (#4) Use yet another loop to print the previous loop n times. Thus, this problem should use two loops.
  • Hint: put your for-loop from the previous challenge inside another for-loop that has a different counting variable. Print a newline character inside the outer loop after the inner loop completes.
  • Example Run: The input prompts and outputs of the program must look like the following for full credit, including the same order of input and wording of the output. For the input shown you must get the same output. However, the output must change properly if the inputs are different.


**Loopy Characters!**

Enter an integer between 1 and 20: ten

Please enter numbers not characters.

Enter an integer between 1 and 20: bob

Please enter numbers not characters.

Enter an integer between 1 and 20: 10

Enter a single character: A

#1. Printing A 10 times:
AAAAAAAAAA

#2. Printing A character 10 times substituting '*' on odd indexes:
A*A*A*A*A*

#3. Printing A character 10 times substituting (+) every fifth character:
AAAA+AAAA+

#4. Printing 10 lines of the previous loop:
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+
AAAA+AAAA+

    

  • In the above example run, the user entered the values shown in italics (for emphasis) to produce the output. Your program does NOT print the characters in italics, nor does the user input appear in italics.

  • After displaying the output, exit the program. Submit your file to Canvas when you are finished.

Assignment 14.2: Vowels (10 pts)
  • Write a program that takes in a sentence from the user and then counts the number of vowels in the sentence.
  • The user should be able to enter as many sentences as desired.
  • You will need to use String.charAt(), String.length(), and two loops - a do-while loop and a for loop to solve this problem correctly.
  • Open up a new Java project called Vowels.
  • First, welcome the user to the program and explain its purpose:
Welcome! Give me a sentence and I will count its vowels.
  • Then prompt the user to enter a sentence.
Please enter a sentence or q to quit: |
  • Store the user input as a string variable.
  • Now, using a for loop and the String.length() function, count how many vowels (a, e, i, o, u) there are in the sentence.
  • Note that the program should also count capital vowels (A, E, I, O, U).
  • Finally, output the number of vowels like so:
There are 5 vowels in your sentence.
  • Next, place the prompt and for loop inside of a do-while loop so that the user can enter multiple sentences.
  • If the user enters q, the loop should end and the program should print out a message "Goodbye!"
  • Once your program is working identically to the examples below, submit it to Canvas.

The output of your program should look identical to the sample output below except user input may vary.

Welcome! Give me a sentence and I will count its vowels.

Please enter a sentence or q to quit: Power to the people!
There are 7 vowels in your sentence.

Please enter a sentence or q to quit: I love chocolate chip cookies very much <3
There are 14 vowels in your sentence.

Please enter a sentence or q to quit: Animals are friends not food.
There are 10 vowels in your sentence.

Please enter a sentence or q to quit: q

Goodbye!