## CS 1401, Quiz 11, Solutions

Date: Tuesday, April 10, 2007
Name (please type legibly, ideally in block letters): ______________________________________________________________________
Class section (9:00 am or 10:30 am):_______________________________

1. Define a class Cat in which each object has a name and a weight. Do not forget to include a constructor, accessor methods, and mutator methods.

2. In the main method,

• define an array of 2 cats, in which the first cat "Fluffy" weighs 3 pounds, and the second cat "Tiny" weighs 1.2 pounds, and then
• compute and print the average weight of the cats.

```
Solution:

public class Cat{
private String name;
private double weight;

public Cat(String aname, double aweight)
{name = aname; weight = aweight;}

public String getName(){return name;}

public double getWeight(){return weight;}

public void setName(String newName){name = newName;}

public void setWeight(double newWeight){weight = newWeight;}
}

in the main program:

Cat[] cats = new Cat[2];

cats[0] = new Cat("Fluffy", 3.0);
cats[1] = new Cat("Tiny", 1.2);

double average = (cats[0].getweight() + cats[1].getweight()) / 2.0;
System.out.println(average);

tracing:

First, we define a new array cats of objects of type Point:

----
|  \|  cats
---\
\
\|
- -------
|  nil |  cats[0]
-------
|  nil |  cats[1]
-------

We then call a constructor method:

--------------
|  ----------  |
| |  Fluffy  | |
|  ----------  |
|    aname     |
|  ----------  |
| |   3.0    | |
|  ----------  |
|    aweight   |
--------------
|              |
|              |
|              |
|              |
|              |
|              |
--------------
Cat

after which we create a new object:

--------------
|  ----------  |
| |  Fluffy  | |
|  ----------  |
|    name      |
|  ----------  |
| |   3.0    | |
|  ----------  |
|    weight    |
--------------
cats[0]

We then call a constructor method:

--------------
|  ----------  |
| |   Tiny   | |
|  ----------  |
|    aname     |
|  ----------  |
| |   1.2    | |
|  ----------  |
|    aweight   |
--------------
|              |
|              |
|              |
|              |
|              |
|              |
--------------
Cat

after which we create a new object:

--------------
|  ----------  |
| |   Tiny   | |
|  ----------  |
|    name      |
|  ----------  |
| |   3.0    | |
|  ----------  |
|    weight    |
--------------
cats[1]

Then, we define a new variable average and assign to it the value
(3.0 + 1.2) / 2.0 = 4.2 / 2.0 = 2.1 and print this value 2.1
```