Computer Science 221

Write out draft solutions to the lab exercises on paper (writing out Java code on
paper is good practice for exams). Do not write ... For example the program
should convert 180cm to 5 feet, 11 inches. ... Write a program that converts a
number of seconds (an integer) into the form dd:hh:mm:ss (days, hours, minutes,
seconds).

Part of the document


Computer Science 221
Lab Exercise Week 3

Objectives:
. Use primitive data types int and double
. Read numeric input
. Perform mixed-mode arithmetic


Reading: Chapter 3 of Wu.

Preparation: Before coming to lab
. Read the textbook and review the course notes.
. Read carefully through the following exercises and think about the
variables, assignment statements, and method calls you will need.
. Write out draft solutions to the lab exercises on paper (writing out
Java code on paper is good practice for exams). Do not write out
entire programs, rather focus just on the code that reads input,
computes results, and prints output. Make two copies of your drafts.
Hand in one copy when you come to lab. Use the other copy as you
complete the exercises during lab. Your drafts are due at the start
of lab and count for 25% of your lab score.


Exercises:











1. Write a Java program that prompts the user for her or his height in
feet and inches (if you are 5' 8" tall you would enter the two
integers 5 and 8). Echo the input and print the user's height in
centimeters. Useful facts: 1 inch = 2.54 cm, 1 foot = 12 inches.
The output should be a double.


2. Write a Java program converts the user's height from centimeters to
feet and inches. For example the program should convert 180cm to 5
feet, 11 inches. Prompt the user, echo the input, and print the
results. The input should be an int. The output should be two ints.
Be careful to print the height rounded to the nearest inch.



Hand in a hardcopy of your Java source code and demonstrate your solution
to exercise 2 to the instructor or lab assistant before leaving lab. The
correctness and the quality of your code will count for 50% and your
demonstration counts for 25% of your lab score. If you do not finish
exercise 2 by the end of the lab period, you may demonstrate your solution
to a tutor (during tutor hours) or the instructor (during office hours).
You must demonstrate your program by next Thursday.


Challenge: If you finish early, try these additional exercises.
. Rewrite the exercises to use standard input/output instead of dialog
boxes
. Rewrite exercise 1 to process user input of the form 5'11". The user
will enter their height as a single string. Your code must extract
the two embedded integers.
. Write a program that reads the (x,y) coordinates of three points and
prints the perimeter of the triangle formed by the points.
. Write a program that converts a number of seconds (an integer) into
the form dd:hh:mm:ss (days, hours, minutes, seconds).


Compiling and running Java applications using Notepad and MSDos command
line environment





Using Notepad text editor create a file with the Java source code. The name
of the file must be the same as the public class in the file (the file and
the class names are case sensitive; the source file may contain only one
public class).


Example:


Create a Java source file HelloWorldApp.java with the contents:



class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the
string.
}
}

Assume, the file is in the directory C:\Temp

Open a MSDos command line window [Start(Programs(Accessories(Command
Prompt].
Change your current directory to C:\Temp (where your Java source code file
resides).
At the command prompt type the PATH command followed by the path to bin
subdirectory of Java SDK (d:\jdk1.4\bin in this case):

PATH d:\jdk1.4\bin

Then compile your program with the command:
javac HelloWorldApp.java

If compiled successfully, the compiler creates a file HelloWorldApp.class
with Java bytecodes in the same directory (folder) as the Java source file
(HelloWorldApp.java). You can run your application with a command (the
extension .class is not typed):
java HelloWorldApp

For standard I/O use the command window.
[pic]