Question: Please help. I need this tonight. Debug & Fix a 2-Dimensional Array Java Console Application In this assessment , you will debug and fix a

Please help. I need this tonight.

Debug & Fix a 2-Dimensional Array Java Console Application In this assessment

, you will debug and fix a given Java console application that uses 2 dimensional arrays but the application does not compile nor execute. You can use either the Toolwire environment or your local Java development environment to complete this assignment. The application has four bugs. Your assignment is to find these bugs and fix them so that the application meets its stated requirements.

The requirements of this application are as follows: The application is register students for courses in a term of study. The assumptions used by the application are: Student enters only integers to select courses for registration from a menu. No data type validation of the user menu selection is checked or required. The program terminates only when the student closes it The program must follow these registration business rules

: No registration of other courses not displayed by the program

No registration more than once for the same course

No registration for more than 9 credit hours (e.g. no more than 3 courses) The application uses Java 2-dimenstional arrays for its implementation.

Students select from a menu of courses for which they wish to register. The program then validates the user selection against the registration business rules. If the selection is valid, the program prints out a confirmation message. Use these course codes, in this order, to test your application:

IT4079

IT1006

IT2230

Successful completion of this assignment will display a valid message or an invalid message, with reason, for the selected course code. In addition, the application should display and update current list of registered courses. Your program interaction should look like sample interaction video "2D Console Register for Course" in the resources. Your assignment will be scored on the following criteria:

1. Identify bugs in a program using development tools.

2. Code an application to fix bugs.

3. Test the application and document testing.

4. Explain the approach taken to complete this assignment and the major decisions made.

5. Identify relevant fundamental constructs in submitted program.

6. Communicates efficiently, effectively, and in an appropriate manner as an IT professional.

/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package u8a1_2dconsoleregisterforcourse;

import java.util.Scanner;

/** * * @author omora */ public class U8A1_2DConsoleRegisterForCourse {

/** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here System.out.println("Teacher's Copy"); Scanner input = new Scanner(System.in); // courses 2d array hold course code and their credit hours String[][] courses = { {"IT1006", "IT4782", "IT4789", "IT4079", "IT2230", "IT3345", "IT2249"}, {"6", "3", "3", "6", "3", "3", "6"} }; // validChoices 2d array holds valid number choices (as strings) selected by user // and their corresponding courses //e.g String[][] choices = { {"5", "IT2230"}, {"1", "IT1006"}, {"6", "IT3345"} }; String[][] validChoices = { {"", ""}, {"", ""}, {"", ""} }; int choice; int totalCredit = 0; String yesOrNo = "";

do {

choice = getChoice(courses, input); switch (ValidateChoice(choice, validChoices, totalCredit, courses)) { case -1: System.out.println("**Invalid** - Your selection of " + choice + " is not a recognized course."); break; case -2: System.out.println("**Invalid** - You have already registerd for this " + courses[0][choice-1] + " course."); break; case -3: System.out.println("**Invalid** - You can not register for more than 9 credit hours."); break; case 0: System.out.println("Registration Confirmed for course " + courses[0][choice-1] ); totalCredit += Integer.parseInt(courses[1][choice-1]); if (validChoices[0][0].equals("")) { validChoices[0][0] = Integer.toString(choice); validChoices[0] = courses[0][choice-1]; } else if (validChoices[1][0].equals("")) { validChoices[1][0] = Integer.toString(choice); validChoices[1][1] = courses[0][choice-1]; } else if (validChoices[2][0].equals("")) { validChoices[2][0] = Integer.toString(choice); validChoices[2][1] = courses[0][choice-1]; } break; }

WriteCurrentRegistration(validChoices, totalCredit); System.out.print(" Do you want to try again? (Y|N)? : "); yesOrNo = input.next().toUpperCase(); } while (yesOrNo.equals("Y"));

System.out.println("Thank you for registering with us"); }

//This method prints out the selection menu to the user in the form of //[selection number]Course Code (Course Credit Hours) //from the courses array one per line //and then prompts the use to make a number selection public static int getChoice(String[] courses, Scanner input) { System.out.println("Please type the number inside the [] to register for a course"); System.out.println("The number inside the () is the credit hours for the course"); for(int i = 0; i

//This method validates the user menu selection //against the given registration business rules //it returns the following code based on the validation result // -1 = invalid, unrecognized menu selection // -2 = invalid, alredy registered for the course // -3 = invalid, No more than 9 credit hours allowed // 0 = menu selection is valid public static int ValidateChoice(int choice, String[][] validChoices, int totalCredit, String[][] courses) { String choiceAsString = Integer.toString(choice); if (choice 7) return -1; else if (choiceAsString.equals(validChoices[0][0]) || choiceAsString.equals(validChoices[]) || choiceAsString.equals(validChoices[2][0])) return -2; else if ( totalCredit + Integer.parseInt(courses[1][choice-1]) > 9) return -3; return 0; } //This method prints the current list of registered courses thus far //from the courses array separated by , and enclosed inside { } //It also prints the total credit registered for thus far public static void WriteCurrentRegistration(String[][] validChoices, int totalCredit) {

if (validChoices[0][0].equals("")) System.out.println("Current course registration: { none } " ); else if (validChoices[1][0].equals("")) System.out.println("Current course registration: { " + validChoices[0][i] + " }" ); else if (validChoices[2][0].equals("")) System.out.println("Current course registration: { " + validChoices[0][1] + ", " + validChoices[1][1] + " }"); else System.out.println("Current course registration: { " + validChoices[0][1] + ", " + validChoices[1][1] + ", " + validChoices[2][1] + " }"); System.out.println("Current registration total credit = " + totalCredit); } }

Please help. I need this tonight. Debug & Fix a 2-Dimensional Array

switch (ValidsteChoice(choice, validChoices ysten.out.printinInvalidYo Teacher's Copy Please type the nmber inaide the 11 to register for a course the nunber inaide the 1s the credit hours tor the course 133006 (21174782 (3) 31174789 (3 41174079(6 [51172230(3) 61373345 (3 711T2249 (6) Enter your choice

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!