University of Toronto - Fall 2000
Department of Computer Science
Week 3 - CD Collection Example
Java Program
/**
* This class models a CD collection.
*/
class CdCollection {
private int numCopies; // number of CDs in collection
private int totalCost; // total cost of CDs in collection
/**
* Constructor - create a new CD collection object that
* has 'num' CDs, that have a price of 'cost.'
*/
public CdCollection (int num, int cost) {
numCopies = num;
totalCost = cost;
}
/**
* addCds - purchase 'num' CDs, that have a
* price of 'cost.'
*/
public void addCds (int num, int cost) {
numCopies = numCopies + num;
totalCost = totalCost + cost;
}
/**
* print - print the number of CDs, cost, and
* average price per CD.
*/
public void print() {
System.out.println ("*************");
System.out.println ("Number of CDs: " +
numCopies);
System.out.println ("Value of collection: " +
totalCost);
System.out.println ("Average cost per CD: " +
averageCost());
}
/**
* averageCost - calculate and return the cost per CD.
*/
private int averageCost () {
return totalCost/numCopies;
}
}
/**
* This class manages a single CD collection.
*/
public class Tunes {
public static void main(String[] args) {
CdCollection music = new CdCollection (5, 60);
music.addCds (1, 10);
music.addCds (3, 40);
music.addCds (2, 20);
music.print ();
music.addCds (2, 30);
music.addCds (4, 50);
music.print ();
}
}
Output
*************
Number of CDs: 11
Value of collection: 130
Average cost per CD: 11
*************
Number of CDs: 17
Value of collection: 210
Average cost per CD: 12
Memory Model