Assignment 14
Due Tuesday, May 29 at 1:20pm on Canvas

Assignment 14.1: Multiplication Tables (10 pts)

  • One of the principle applications of nested loops is to display tabular data (data organized into rows and columns).
  • For this assignment, let's practice the nested loop concept we discussed last class by creating a program to display the times tables.
  • Name your Java project Multiplication
  • First, the user should see a message like this one appear on the console:
***Time to Learn the Times Table!***

Enter the size of the times table: _
  • Next, use a nested for loop to display the times table for the number entered from 1 to 12 (see example below)
  • To help you get started, you can fill in the missing parts of the code here:

for (int row = ????; row <= 12; row++) { //printing times table 1 through 12
    for (int col = ????; col <= ????; col++) { //for the numbers up to size
        System.out.print( col + " * " + row + "\t"); //add more to this print statement
    }

    System.out.println();

}

  • Now, as an intermediate step, run your code and verify that you get the following output:

***Time to Learn The Times Table!***

Enter the size of the times table: 5
1 * 1     2 * 1     3 * 1     4 * 1     5 * 1   
1 * 2     2 * 2     3 * 2     4 * 2     5 * 2   
1 * 3     2 * 3     3 * 3     4 * 3     5 * 3   
1 * 4     2 * 4     3 * 4     4 * 4     5 * 4   
1 * 5     2 * 5     3 * 5     4 * 5     5 * 5   
1 * 6     2 * 6     3 * 6     4 * 6     5 * 6   
1 * 7     2 * 7     3 * 7     4 * 7     5 * 7   
1 * 8     2 * 8     3 * 8     4 * 8     5 * 8   
1 * 9     2 * 9     3 * 9     4 * 9     5 * 9   
1 * 10    2 * 10    3 * 10    4 * 10    5 * 10   
1 * 11    2 * 11    3 * 11    4 * 11    5 * 11   
1 * 12    2 * 12    3 * 12    4 * 12    5 * 12       

  • Finally, let's alter the print statement inside the for loop so that we print out the products, getting an output like the following:
***Time to Learn The Times Table!***

Enter the size of the times table: 5
1 * 1 = 1      2 * 1 = 2      3 * 1 = 3      4 * 1 = 4      5 * 1 = 5   
1 * 2 = 2      2 * 2 = 4      3 * 2 = 6      4 * 2 = 8      5 * 2 = 10   
1 * 3 = 3      2 * 3 = 6      3 * 3 = 9      4 * 3 = 12     5 * 3 = 15   
1 * 4 = 4      2 * 4 = 8      3 * 4 = 12     4 * 4 = 16     5 * 4 = 20   
1 * 5 = 5      2 * 5 = 10     3 * 5 = 15     4 * 5 = 20     5 * 5 = 25   
1 * 6 = 6      2 * 6 = 12     3 * 6 = 18     4 * 6 = 24     5 * 6 = 30   
1 * 7 = 7      2 * 7 = 14     3 * 7 = 21     4 * 7 = 28     5 * 7 = 35   
1 * 8 = 8      2 * 8 = 16     3 * 8 = 24     4 * 8 = 32     5 * 8 = 40   
1 * 9 = 9      2 * 9 = 18     3 * 9 = 27     4 * 9 = 36     5 * 9 = 45   
1 * 10 = 10    2 * 10 = 20    3 * 10 = 30    4 * 10 = 40    5 * 10 = 50   
1 * 11 = 11    2 * 11 = 22    3 * 11 = 33    4 * 11 = 44    5 * 11 = 55   
1 * 12 = 12    2 * 12 = 24    3 * 12 = 36    4 * 12 = 48    5 * 12 = 60  
  • Note: Part of the output may get cut off if the user enters too large of a number or the numbers might not line up perfectly. Both are okay.
  • When you are finished, submit your assignment to Canvas.

Assignment 14.2: Comparing Characters (10 pts)

  • Write a program that tests if the first or last letter of a word is earlier in the alphabet.
  • If the characters are the same, we will note that as well.
  • Recall that we may compare String characters to each other because they are stored as numbers in the computer, according to a standard known as Unicode.
  • Name the project FirstLast with a class called FirstLast.java and include all your code in this single file.
  • Ask the user for the following inputs (and no other input) in this order and each on their own line:
    1. a word such as "easy" (without the quote marks) as a String
    2. "y" or "n" (without the quote marks) to see if the program should loop again
    • Assume the user enters only valid data.
    • See sample output below
  • Use the substring method that we learned in Lesson 14 to extract the first and last characters, and then test if the first or last letter of the word is earlier in the alphabet.
    • Do NOT use charAt() or you will not receive credit for this assignment. You must use substring() to access the first and last characters.
  • Note the use of "" around the letter in the output below. These must be included.
  • If the letters are the same then print, "Letters are the same." (without the quotes) as shown in the sample output.
  • Add a while statement that allows the user to repeat the program by inputting a "y" (without the quotes), and exiting the loop for any other character entered, as shown in the sample output.
  • When your program works identically to the example output below, submit it to Canvas:

Your output should look identical to the output below:

***Comparing First and Last Characters***

Input a word: easy
First letter "e" is earlier in the alphabet.

Run again? (y/n) y

Input a word: zebra
Last letter "a" is earlier in the alphabet.

Run again? (y/n) y

Input a word: Zebra
First letter "Z" is earlier in the alphabet.

Run again? (y/n) y

Input a word: eve
Letters are the same.

Run again? (y/n) n


Assignment 14.3: 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 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: Chillax!
There are 2 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!