Computer

PART 1 — Animation

The goal of this part of the assignment is to use a Graphics object to create a custom animation.

To get started, follow these instructions:

In Eclipse, import the archive file assign4.zip into your project.
Right-click on the src folder.
Select Import….
Choose General → Archive File and click Next.
Browse to find the location where you downloaded assign4.zip and click Finish.
This should create a new package called assign4 that contains three files: Animation.java, AnimationWindow.java, and

DrawingArea.java.
Run the AnimationWindow class. Click the Start button. You will see an animated house move across the screen while changing color.

You can stop the animation by clicking the Stop button.

Your assignment is to create a more interesting animation.

At a minimum, you must create an animation that achieves the following.
Lasts at least ten seconds.
Is interesting. (Try to amuse and entertain the TAs. We will demo the best animations in class.)
Has multiple items moving in different directions at the same time.
Has an item that changes direction.
Has an item that changes color.
Has an item that expands, shrinks, or (even better) explodes.
To accomplish this, you will need to replace the implementation of the paintFrame method in the Animation class. You do not need to

understand or even read the other two classes, unless you are interested. DO NOT modify the two other classes in any way. Note that the

paintFrame method has two parameters:
a Graphics object (on which you can draw, using its methods)
the number of milliseconds that have passed since the animation started

You can make this substantial task easier by creating helper methods and calling them from paintFrame. For example, if you have two

items that move independently, you might want to have one method to draw the first item and another method to draw the second item. You

are strongly encouraged to use this strategy — helper methods reduce the time you spend programming and make your code easy to read

An animation is made up of many different frames. Each frame is a static image. The illusion of motion occurs because the images

are displayed in rapid succession. ThepaintFrame method is called over and over again to obtain a sequence of static images. You can

use the second parameter to determine how long the animation has been running, which will let you control the timing of visual effects.
Ensure that you have used meaningful variables names, consistent indentation/spacing, and appropriate comments. Overall, your

paintFrame method should have good programming style.
Export your Animation.java file and submit it using the button below. DO NOT submit AnimationWindow.java or DrawingArea.java.

PART 2 — File Analysis

The goal of this part of the assignment is to create an application for analyzing text documents.

To get started, follow these instructions:

Download several books as plain text (i.e., .txt files), which you will use to test your application. A good place to find free

books is Project Gutenberg.

Choose a variety books that have “Plain Text UTF-8” file downloads. Download them and save them in a convenient location as .txt

files. You do not have to read the books.

The course staff will use their own book files for grading. Do not submit your downloaded files. Your application must work on any

.txt documents of reasonable size, not just one or two specific books.
To your assign4 package created in Part 1, add a new class called TextAnalysis.

In your TextAnalysis class, construct an application that behaves as described below.
The user starts the application. The application displays a dialog box that askes the user to enter a word to search for in a

book. (The user should enter a single word, but your application does not need to enforce this.) If the user cancels the dialog, the

application quietly terminates. Otherwise, the user’s input is converted to lowercase and is used as the target word later in the

application.
Next, the application displays a JFileChooser and allows the user to choose a file. (The user should choose some kind of text

file, but your application does not need to enforce this.) If the user cancels the dialog, the application quietly terminates.

Otherwise, the user’s selection is saved as the file to be processed later in the application.
The application opens the text file and reads it one word at a time. (A word is any sequence of symbols separated by

whitespace. The next method of theScanner class correctly reads the next word.) Each word should be converted to lowercase as it is

read. As it reads the words, the application collects the information needed to compute the following information.
The number of times the user’s target word occurs in the file.
The average length of all the words in the file. (This will be a decimal number, not an integer.)
The word that would come immediately before the user’s target word if all the distinct words in the file were arranged

in lexicographic order. (If there is no such word, return the user’s word.) You must do this without actually putting the words into

lexicographic order.
The word that would come immediately after the user’s target word if all the distinct words in the file were arranged

in lexicographic order. (If there is no such word, return the user’s word.) You must do this without actually putting the words into

lexicographic order.
Any other interesting statistic (of your choice) that involves both the target word and the words in the file.
The application reports the above statistics using a dialog message box.

Your application must adhere to the following guidelines.
Your dialog boxes must be user friendly in all circumstances. Use full English sentences with correct grammar and punctuation.

Break each line as appropriate. Make sure null strings are never displayed. (Your application should communicate clearly with the

user.)
Your application must not throw any exceptions under any circumstance. Exceptions are printed using red text in the console

window. One common exception occurs when you attempt to use null strings or objects.
Do not read input or print results to the console. You must use popup dialog boxes.
You may assume the file the user selects contains at least one word.
Test your application thoroughly to make certain that it will work correctly for all plain text files.
Ensure that you have used meaningful variables names, consistent indentation/spacing, and appropriate comments. The class and all

methods should be commented using Javadoc. Use additional comments, as needed. Overall, your program should have good programming

style.
Export your TextAnalysis.java file and submit it using the button below.

7. A correct and complete program that meets the specifications above and has good programming style will receive 90% of the credit

for this programming assignment. The last 10% of credit depends on the sophistication of your custom animation in Part 1. This gives

interested and motivated students the opportunity to go above and beyond the minimum requirements listed above. Note that the amount of

work / time / intellect required to complete the extra challenge is more than for the base assignment, yet is worth much less credit.
NOTE: There are many, many different ways to solve this assignment. It is expected that every student’s solution will be unique. Feel

free to explore interesting coding ideas or clever approaches. However, you must ensure that your finished application performs exactly

as required.
TAKE ADVANTAGE OF OUR PROMOTIONAL DISCOUNT DISPLAYED ON THE WEBSITE AND GET A DISCOUNT FOR YOUR PAPER NOW!

  • Buy an assignment from
  • us today and save 22%!
  • Enter the discount code: CPH22
toggle