CSCI 151 - Lab 3
Stacks of Integers


In this lab, we will write two implementations of a stack and test them with JUnit.



  1. Download the skeleton for this project.
  2. Unpack the code into a new Eclipse Java project.


We are discussing the Stack interface in class. To help us visualize our implementations, you will find the StackViewer class in the numstack package, written using JavaFX. Run this program to see a text box for entry and a listing below of the current contents of the stack.

Currently, the StackViewer does not work, because it is missing a stack implementation. You must implement two versions of a stack, one using an array, and the second using a list of nodes.

Step 1 - ArrayIntStack

In the numstack.model package, you will find the following classes:

This is a general interface for a stack of integers. You will want to call the default method notEmpty() at the right places, to ensure the appropriate methods fail when necessary.

You will use an array of integers to implement a stack.

Note: If you use ArrayList you will receive no credit for the assignment.

These are the unit tests for your stack. Your grade depends on passing these tests.

Run this file to see the results of the unit tests for your ArrayIntStack implementation.

Step 2 - ListIntStack

You will first need to create a file called that implements the Node class we discussed. It should have an int value, and a ListIntNode next reference as components.

You will use a sequence of ListIntNode objects to implement a stack.

Run this file to see the results of the unit tests for your ListIntStack implementation.

Step 3 - TimeTest

Run this file to compare the performance of ArrayIntStack and ListIntStack.

What to Hand In

Submit your and implementations, along with any additional files you created for your implementations.


© Mark Goadrich, Hendrix College