CISC 3150 Object Oriented Programming

Instructor's Homepage | Syllabus | Resources | Schedule | Assignments

Assignment 7:
Due: 5/18/2011

Exception Handling and I/O
Write a program that accepts a comma delimited text file and produces an html file with an ordered list. Data separated by a comma in the input file appears in separate list items in the output file

Log exceptions that occur during runtime. Among them is the InvalidWordException. Others may occur as well. The log file should include: ... and whatever other information you think would be useful to system administrators.
Assignment 6:
Due: 4/13/2011

Generics
We designed a generic Pair class in class.
Here is the source code.


Assignment 5:
Due: 4/4/2011

Introduction to Programming Using Java is a free on-line textbook. Read the chapter on Applets and GUIs, http://www.faqs.org/docs/javap/c6/index.html You might find it helpful to take the quiz at the end of the chapter. (There is a link to the answers so you can grade yourself.) The programming exercises are worth trying. They also have sample solutions.

Other tutorials on Applets and GUIs: http://www.realapplets.com/tutorial/ and http://jtf.acm.org/tutorial/GraphicalUserInterfaces.html

Assignment:
Creat an applet to calculate compound interest. Provide textboxes for the present value (PV), interest rate (i), and number of periods (n). The equation is FV = PV(1+i)^n where Future Value (FV) is the amount the user will have at the end of the timespan. Provide a button to (re)caluclate the FV.
Note: The pow method of the Math class performs exponentiation.


Assignment 4:

EZ Pass project

Include constructors for each class, accessor and mutator methods as needed. Use this and super whenever possible to simplify the code.

Write a toString method in each class that prints out the name of the subclass using the getClass() method of class Object followed by the instance variables, each preceded by a description.

EZPassAccount

TollBooth This system is not complete yet. Which features can you think of that we missed?

Construct a UML class diagram for your classes. Confused about how it should look? Look at this file.

Bonus: Think of an appropriate interface to create and implement it in more than one class.

Confused about how the EZ Pass works? Visit their website http://www.ezpass.com


Assignment 3:
Due 2/25/09

Rational Numbers
Create a class called Rational for performing arithmetic with fractions. Write a program to test your class.


Assignment 3:
Due 2/28/11

Rational Numbers
Create a class called Rational for performing arithmetic with fractions. Write a program to test your class.


Assignment 2: Submit by email
Due 2/16/11

Programming Exercise 5.31 - Mod 10 check:
Credit card numbers follow certain patterns. A credit card number must have between 13 and 16 digits. It must start with:
In 1954, Hans Luhn of IBM proposed an algorithm for validating credit card numbers. The algorithm is useful to determine if a card number is entered correctly or if a credit card is scanned correctly by a scanner. Almost all credit card numbers are generated following this validity check, commonly known as the Luhn check or the Mod 10 check, which can be described as follows (for illustration, consider the card number 4388576018402625):
  1. Double every second digit from right to left. If doubling of a digit results in a two-digit number, add up the two digits to get a single-digit number.
    2*2=4
    2*2=4
    4*2=8
    1*2=2
    6*2=12 (1+2=3)
    5*2=10 (1+0=1)
    8*2=16 (1+6=7)
    4*2=8
  2. Now add all single-digit numbers from Step 1.
    4+4+8+2+3+1+7+8=37
  3. Add all digits in the odd places from right to left in the card number.
    5+6+0+8+0+7+8+3=37
  4. Sum the results from Setp 2 and Step 3.
    37+37=74.
  5. If the result from Step 4 is divisible by 10, the card number is valid; otherwise, it is invalid. For example, the number 4388576018420625 is invalid, but the number 4388576018410707 is valid.
Write a program that begins with a credit card number as a long integer. Display whether the number is valid. Design your program to use the following methods:

/** Return true if the card number is valid */
public static boolean isValid(long number)

/** Extract a digit from the long*/
public static int separateDigit(long number, int position)
/* You can convert a long to a String and use String methods
OR
You can use modulus with division.*/

/** Get the result from Steps 1 and 2*/
public static int sumAndSquareOfEvenPlace(long number)

/** Return this number if it is a single digit, otherwise, return the sum of the two digits */
public static int getAsOneDigit(int number)

/** Return sum of odd place digits in number, Step 3 */
public static int sumOfOddPlace(long number)
 
Feel free to add any other methods that you deem necessary!



Assignment 1:
Due 2/07/11

Part 1
Install the J2SE JDK. The textbook provides step by step instructions in this
document.
You can verify that the JDK has been installed properly by running the command 'javac -version' from the command line. If the command is recognized, it will tell you the version of JDK that is installed.

Part 2
Following the steps in the notes and on http://java.sun.com/docs/books/tutorial/getStarted/cupojava/index.html write and run the Hello World application. Submit the source and output on paper. Include your name as a comment and in the output of the program that your name will appear on both the source code and the output.

Take special note of the path and classpath requirements in case you can not compile or run the code.

Part 3
Following the steps in the notes and on http://java.sun.com/docs/books/tutorial/deployment/applet/getStarted.html write and run the Hello World applet. Remember to write an html file that loads the applet. Submit the source and output on paper. Include your name as a comment and in the output of the program so that your name will appear on both the source code and the output.