Overview

Overview

You will be writing portions of a Java class that models a very simple clock.  You will also be provided with two different "front ends" that use this same class as a plug-in - a simple program that loops through the time for a full hour of time, displaying each passing second on your screen, and a slightly more complex program that displays the time in a window and allows you to update it with a click of a button.  If you have coded your clock class correctly, these two programs provided will just work when you run them.

Objectives

Practice with programming fundamentals

Variables - Declaration and Assignment

Primitive types

Branching: if-else if-else syntax, nested if-else syntax

Nested while loops

Methods - simple functions and procedures

Object-oriented programming

Works towards the following Course Goals:

Competency with using basic coding features of a high-level imperative programming language

Competency with writing computer programs to implement given simple algorithms

Familiarity with designing simple text-oriented user interfaces

Project 12 Description

This lab is structured differently than previous labs.  For this lab you are provided with three Java files - Project12.java and ClockView.java hold code that you do not need to touch.  You will only be writing code in the file SimpleClock.java.  Create a new project named "Project 12" and import all three of these source code files into your project workspace.  All three of these files must be in the same Project folder, and must all be in the same default namespace in your Eclipse workspace.
 Project12.java ClockView.java SimpleClock.java

Open the SimpleClock.java file.  In this file is a partial implementation of the SimpleClock class.  You must fill in the code for the constructor, as well as for the methods set, tick and time, following the instructions provided for each of these methods in the comments for these methods.

When you think that you have them working, run the Project12.java program.  You should see output like the following:

Clock starts at time: 12:00:00 AM
Clock has been set to time: 11:59:00 PM
TICK: 11:59:01 PM
TICK: 11:59:02 PM
TICK: 11:59:03 PM
TICK: 11:59:04 PM
TICK: 11:59:05 PM
TICK: 11:59:06 PM
TICK: 11:59:07 PM

... Many lines of output like the above ...

TICK: 12:58:58 AM
TICK: 12:58:59 AM
TICK: 12:59:00 AM
Clock finally reads: 12:59:00 AM


Once you have that working, try running ClockView.java.  It should pop up a window with a midnight time showing and two buttons - Tick and Reset.  The Tick button should increment the clock by one second, the reset button should set it back to midnight.  Play with this interface to make sure it works as expected

 

 
Powered by