C211 I211 Problem Solving and Programming II

C211 I211 Lab 5

Due Date: Monday, September 25, 2023.

Ex. 1. Debugging a Class

In this lab, we will need to test and debug a program that searches in an array for the first larger number that follows an element at a given index in the array.

a. Download the following source file:
LargestAfter.java

The program contains several syntax errors and a few conceptual errors. Create a project called lab5 and a package inside it called lab5. Add this class to the package.

b. Fix the compilation errors and run the program.

c. Test the program with multiple test cases, with some arrays that are in ascending or descending order, with the index close to the beginning or close to the end, with an index larger than the size of the array, with an empty array. Add some output statements to guide you while debugging the program. If necessary, run it through the debugger.

Add a comment at the end of the program with all the test cases you found, and which of them worked from the beginning, which of them worked after you fixed the program, and which of them still don't work.

d. In the function largerAfter, add an assertion in the body of the for loop at the top. Figure out a condition that should be true at that point in the program.

Lab Submission

Upload the file LargestAfter.java after you debug it to Canvas in Assignments - Homework 5. You can wait until you also finish the homework to upload both files at the same time.