HOMEWORK #3 Solution




Write a program that asks the user for a number n. Then output the sum of all numbers from 1 to n (n included) that are divisible by 3.

Example Output:

Enter a number: 99

The sum is 1683

Name your class Hw3pr1 and your file Hw3pr1.java


Write a program that asks the user to repeatedly enter a number. After every input, output the average of all the numbers entered so far.

Stop when the user enters 0. Round all your output to 2 decimal places.

Example Output:

Enter a number: 4

The average so far is 4.00

Enter a number: 12.3

The average so far is 8.15

Enter a number: 6.2

The average so far is 7.50

Enter a number: 0


Name your class Hw3pr2 and your file Hw3pr2.java


One of the good practices of writing is to not use the same word over and over and over again.

We are going to write a program to help improve our writing skills.

First, use Notepad++ or similar to create a text file with some random text and save it in the same folder as where your code will be.

Next, write a program that takes as input two strings – one is a filename, one is a word.

Your program should open the file with the given file name and count the number of times the given word occurs. Output the final count.

Note: Count all the words that match regardless of case.

Also, punctuation might cause mismatches because it is read by Scanner as included with the word. This is fine for now – we will handle punctuation later in Ch. 9

Hint: For a good example of file reading look at the example on Page 245 of your text and Slide 44 of the Chapter 4 code slides.

Example Output:

Enter a file name : testfile.txt

Enter a word: the

The word “the” occurs 5 times in the file

Name your class Hw3pr3 and your file Hw3pr3.java. You only need to turn in your java file.


A burning question in the fairy tale expert community has always been: Who is the fastest among the all the fairy tale characters?

To determine this, simulate a race between the hare, the tortoise, the sheep and the wolf for ten timesteps (counted as 0-9), and output how far all the racers travelled after the race is over.

Then declare the winner of the race. If there is a tie for first place, pick any one of the tied racers to be the winner.

Note: A correctly written program should result in a close race, with a chance for every racer to win. Check by running your program multiple times.

The hare: Moves randomly 13 – 17 miles per timestep, but sees itself in the lead and falls asleep on timesteps 2 – 9 and does not move.

The tortoise: Moves randomly 1 – 2 miles per timestep, but gets to move twice per step due to its determination.

The sheep: Moves randomly 6 – 10 miles on even timesteps, but gets lost and moves -2 miles backwards on odd timesteps.

The wolf: Moves randomly 4 – 5 miles per timestep, but stops to huff and puff on steps 3, 6 and 9.

Name your class Hw3pr4 and your file Hw3pr4.java


Now that we know how to write loops, we can re-do a smarter version of the problem from Assignment 1.

Write a program that asks the user for a size (n) and a character, and then outputs a pyramid pattern of that size using the character.

Hint: The total number of characters you need to print in the last row will always be 2n – 1.

Example Output:

Enter the size of the pyramid: 4

Enter the character to use: x





Name your class Hw3pr5 and your file Hw3pr5.java


Since a trip to Vegas can get quite expensive, as programmers we can be clever and create our own gambling experience.

Write a program that simulates a slot machine by asking the user to enter the amount of money they want to bet. The lowest amount they can bet is $1.

Next, simulate spinning the machine by choosing one of these words randomly: Cherries, Oranges, Plums, Bells, Melons, Bars

You can do this easily by generating a random number with a value between 0 – 5. Each number corresponds to a string, for example 0 = Cherries, 1 = Oranges and so on.

Select a random string 3 times and output the result of the spin.

The next thing to do is to determine the result of the spin. The results are based on these rules:

If none of the words match, the player loses half their money. (e.g., $20 becomes $10)

If two of the words match, the player doubles their money. (e.g., $20 becomes $40)

If all three match, the player gains 5 times their money. (e.g., $20 becomes $100)

Finally, show the player their total amount at the end of the round and ask if they want to play again as long as their money is greater than $1.

Repeat the spin if they want to play again.

If they don’t, or their total is less than $1, quit the program.

Name your class Hw3pr6 and your file Hw3pr6.java