Java Class Projects
These are the projects that I worked on in my Java class - CMSC131 Object-Oriented
Programming I at University of Maryland - College Park.
Here is a brief summary of the projects:
1) Project 1: Java Basics/Conditionals
In this project I implemented three programs: Area (computes the area of a triangle), Divisible (reads
two integer values x and y, computes the remainder,
and determines whether x is divisible by y), and ColorGenerator (computes a CSS color).
This project is for practicing Java's expressions, input/output, and conditionals.
2) Project 2: Java Loops
In this project I implemented three programs: Convert (converts from decimal to octal), ThrowDie
(simulates throwing a die), and Access (simulates accessing a system).
This project is for practicing Java's loops.
3) Project 3: Drawing App
In this project I wrote methods that draw different diagrams (rectangles, flags, etc.).
This project is for practicing writing Java static methods and nested loops.
4) Project 4: Passport Class
In this project I implemented a Passport class that represents a person's Passport. A passport has the
full name of a person (first, last and middle name) along with the stamps of countries the person has
visited.
This project is for practicing basic class definition.
5) Project 5: PhotoManager
In this project I implemented the class Photo and PhotoManager. These classes support a photo manager.
This project is for practicing class definition, use of a class by another class, ArrayLists and
Collections class.
6) Project 6: Array Utilities
In this project I wrote static methods associated with the Utilities class that support array
operations.
This project is for practicing one-dimensional arrays.
7) Project 7: Diagram System
In this project I implemented classes that support displaying and animating diagrams similar to the ones
I developed for the DrawingApp project.
This project is for practicing two-dimensional arrays and interfaces.
8) Project 8: Media Rental Manager
In this project I implemented a simplified version of a system that allows people to rent movies and
music albums (similar to Netflix) and receive them via mail. For this project I defined all the
classes/interfaces needed.
This project is for practicing design.
9) Project 9: Recursion Exercise
In this project I implemented a set of recursive methods processing strings and arrays. One of methods
(replaceCells) illustrates the power of recursion.
This project is for practicing writing recursive methods.