Question
**CODE IN JAVA** General Information This is a different sort of lab. Provided materials for this lab include executable code for a class, Onion, and
**CODE IN JAVA**
General Information
This is a different sort of lab. Provided materials for this lab include executable code for a class, Onion, and with code to process a group of objects of that class, PeelOnion. The process code includes several errors. Your task is to find and correct all of those errors.
Background
We will discuss error handling, exceptions, stack traces, and stack unwinding in class. I recommend that you read Chapter 11.7 again before attempting this lab.
As you by now have experienced, debugging code is a large part of programming. This exercise will give you some experience tracing a few common issues. In fact, you have almost definitely seen every one of the included issues in your own, or someone elses, code.
Given: UML describing the class Onion
Onion.class the executable code for class Onion (you will not need the source code) PeelOnion.java this is the process code that you will fix
Task: Correct PeelOnion.java so that it produces the Expected Results
Deliverable:
Your corrected version of PeelOnion.java
Requirements
The provided source code has no comments beyond the block comment discussing the lab assignment. There is very, very little whitespace included. You may find the code difficult to read in this format. Please feel free to add comments and white space to make the code more readable. If you choose not to do so, there will be no point deduction.
The first two errors will keep the code from compiling. Once you have corrected those, others will appear in sequence. Some errors may be due to typos in the code; some may be due to logic errors in the code. It is also entirely possible to introduce additional (unplanned) errors while you are trying to debug the program.
Testing
After fully debugging the program, your results should exactly match those provided.
**CODE GIVEN**
/** * This Java program inlcudes several errors. One error will keep it from compiling. * The remaining errors will throw exceptions and/or prevent correct output. * * Some errors could be the result of bad typing; some errors are the results of bad logic. * There are NO COMMENTS in this code, and not a lot of whitespace. * * Fix all the errors to produce the output shown in the lab instructions. * Submit your completed and CORRECT version of PeelOnion. * */ public class PeelOnion {public static void main(String[] args){ Onion[] myStuff = new Onion[5]; myStuff[1] = new Onion( "There should be some sort of text here..." ); myStuff[2] = new Onion( "Hello! How are you?" ); myStuff[3] = new Onion( "My name is " ); myStuff[4] = new Onion( ); myStuff[5] = new Onion( "It's a lovely day in the neighborhood." ); for( int h = 0; h <= 6; h++ ){int z = 2;System.out.println(myStuff.toString()); System.out.printf("The String at subscript %d is %d characters long.%n",i,myStuff.getLength());}}}
**OUTPUT**
Expected Output from PeelOnion.java There should be some sort of text here...
The String at subscript 0 is 41 characters long.
Hello! How are you? The String at subscript 1 is 19 characters long.
My name is The String at subscript 2 is 11 characters long.
This is a default message layer. The String at subscript 3 is 32 characters long.
It's a lovely day in the neighborhood. The String at subscript 4 is 38 characters long.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started