JAVA PPROGRAM   I have provided the failed test cases and the inputs as a screenshot. Please Modify this program with further modifications as listed below: The program must pass the test case when uploaded to Hypergrade. ALSO, take out the following in the program:  System.out.println("Program terminated."); because the test case does not need it.        import java.io.*; import java.util.ArrayList; import java.util.Scanner; public class SymmetricalNameMatcher {     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         String fileName;         do {             // Prompt the user to enter a file name or 'QUIT' to exit.             System.out.print("Please enter the file name or type QUIT to exit:\n");             fileName = scanner.nextLine();             if (fileName.equalsIgnoreCase("QUIT")) {                 // If the user types 'QUIT', terminate the program.                 System.out.println("Program terminated.");                 break;             }             File file = new File(fileName);             if (!file.exists()) {                 // If the file doesn't exist, display an error message and continue to the next iteration.                 System.out.println("File '" + fileName + "' is not found.");                 continue;             }             if (file.length() == 0) {                 // If the file is empty, display an error message and continue to the next iteration.                 System.out.println("File '" + fileName + "' is empty.");                 continue;             }             ArrayList names = new ArrayList<>();             int lineCount = 0;             try (BufferedReader reader = new BufferedReader(new FileReader(file))) {                 String line;                 // Read names from the file and store them in the 'names' ArrayList.                 while ((line = reader.readLine()) != null) {                     names.add(line);                     lineCount++;                 }             } catch (IOException e) {                 e.printStackTrace();             }             int matches = 0;             // Compare names in symmetrical positions.             for (int i = 0; i < lineCount / 2; i++) {                 String name1 = names.get(i);                 String name2 = names.get(lineCount - 1 - i);                 if (name1.equals(name2)) {                     // If a match is found, print the match details.                     System.out.println("Match found: '" + name1 + "' on lines " + (i + 1) + " and " + (lineCount - i) + ".");                     matches++;                 }             }             if (matches == 0) {                 // If no matches were found, display a message.                 System.out.println("No matches found.");             } else {                 // Display the total number of matches found.                 System.out.println("Total of " + matches + " matches found.");             }         } while (true);         // Close the scanner.         scanner.close();     } }

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter4: Making Decisions
Section: Chapter Questions
Problem 6PE
icon
Related questions
Question
JAVA PPROGRAM
 
I have provided the failed test cases and the inputs as a screenshot. Please Modify this program with further modifications as listed below: The program must pass the test case when uploaded to Hypergrade. ALSO, take out the following in the program: 

System.out.println("Program terminated."); because the test case does not need it. 

 
 
 

import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;

public class SymmetricalNameMatcher {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String fileName;

        do {
            // Prompt the user to enter a file name or 'QUIT' to exit.
            System.out.print("Please enter the file name or type QUIT to exit:\n");
            fileName = scanner.nextLine();

            if (fileName.equalsIgnoreCase("QUIT")) {
                // If the user types 'QUIT', terminate the program.
                System.out.println("Program terminated.");
                break;
            }
            File file = new File(fileName);

            if (!file.exists()) {
                // If the file doesn't exist, display an error message and continue to the next iteration.
                System.out.println("File '" + fileName + "' is not found.");
                continue;
            }

            if (file.length() == 0) {
                // If the file is empty, display an error message and continue to the next iteration.
                System.out.println("File '" + fileName + "' is empty.");
                continue;
            }
            ArrayList<String> names = new ArrayList<>();
            int lineCount = 0;

            try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
                String line;
                // Read names from the file and store them in the 'names' ArrayList.
                while ((line = reader.readLine()) != null) {
                    names.add(line);
                    lineCount++;
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

            int matches = 0;

            // Compare names in symmetrical positions.
            for (int i = 0; i < lineCount / 2; i++) {
                String name1 = names.get(i);
                String name2 = names.get(lineCount - 1 - i);

                if (name1.equals(name2)) {
                    // If a match is found, print the match details.
                    System.out.println("Match found: '" + name1 + "' on lines " + (i + 1) + " and " + (lineCount - i) + ".");
                    matches++;
                }
            }

            if (matches == 0) {
                // If no matches were found, display a message.
                System.out.println("No matches found.");
            } else {
                // Display the total number of matches found.
                System.out.println("Total of " + matches + " matches found.");
            }

        } while (true);

        // Close the scanner.
        scanner.close();
    }
}

Test Case 1 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input1.txt ENTER
Match found: 'Michael' on lines 1 and 8.\n
Match found: 'Cassandra' on lines 3 and 6. \n
Total of 2 matches found.\n
Please enter the OUTPUT TOO LONG
Test Case 2 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input2.txt ENTER
Match found: 'Michael' on lines 1 and 9.\n
Match found: 'Cassandra' on lines 3 and 7.\n
Total of 2 matches found. \n
Please enter the OUTPUT TOO LONG
Test Case 3 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input3.txt ENTER
File input3.txt' is empty.\n
Please e... OUTPUT TOO LONG
Test Case 4 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input4.txt ENTER
Match found: 'Michael' on lines 1 and 16. n
Match found: 'Joshua' on lines 2 and 15.\n
Match found: 'Cassandra' on lines 3 and 14. \n
Match found: 'Joseph' on lines 4 and 13. \n
Match found: 'William' on lines 5 and 12.\n
Match found: 'Matthew' on lines 6 and 11.
Match found: 'James' on lines 7 and 10. \n
Match found: 'Steven' on lines 8 and 9.\n
Total of 8 matches found.\n
Please enter the file name or type QUIT t... OUTPUT TOO LONG
Test Case 5 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input5.txt ENTER
n
File 'input5.txt' is not found.\n
Please enter the file name or type QUIT to exit: \n
input1.txt ENTER
Match found: 'Michael' on lines 1 and 8.\n
Match found: 'Cassandra' on lines 3 and 6. \n
Total of 2 matches found.\n
Please enter the file name or... OUTPUT TOO LONG
Test Case 6 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
qUiT ENTER
Progr... OUTPUT TOO LONG
Test Case 7 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input5.txt ENTER
File 'input5.txt' is not found.\n
Please enter the file name or type QUIT to exit: \n
quit ENTER
Program terminate... OUTPUT TOO LONG
Test Case 1 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
inputl.txt ENTER
Match found: 'Michael' on lines 1 and 8.\n
Match found: 'Cassandra' on lines 3 and 6.\n
Total of 2 matches found.\n
Test Case 2 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input2.txt ENTER
Match found: 'Michael' on lines 1 and 9.\n
Match found: 'Cassandra' on lines 3 and 7. n
Total of 2 matches found.\n
Test Case 3 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input3.txt ENTER
File 'input3.txt' is empty.\n
Test Case 4 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input4.txt ENTER
Match found: 'Michael' on lines 1 and 16. \n
Match found: 'Joshua' on lines 2 and 15.\n
Match found: 'Cassandra' on lines 3 and 14. \n
Match found: 'Joseph' on lines 4 and 13. \n
Match found: 'William' on lines 5 and 12.\n
Match found: 'Matthew' on lines 6 and 11. \n
Match found: 'James' on lines 7 and 10. \n
Match found: 'Steven' on lines 8 and 9.\n
Total of 8 matches found.\n
Test Case 5 Failed Show what's missing
Please enter the file name or type QUIT to exit: \n
input5.txt ENTER
File 'input5.txt' is not found.\n
Please re-enter the file name or type QUIT to exit: \n
input1.txt ENTER
Match found: 'Michael' on lines 1 and 8.\n
Match found: 'Cassandra' on lines 3 and 6. \n
Total of 2 matches found.\n
Test Case 6 Failed
Show what's missing
Please enter the file name or type QUIT to exit: \n
qUiT ENTER
Test Case 7 Failed
Show what's missing
Please enter the file name or type QUIT to exit: \n
input5.txt ENTER
File 'input5.txt' is not found.\n
Please re-enter the file name or type QUIT to exit: \n
quit ENTER
Transcribed Image Text:Test Case 1 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input1.txt ENTER Match found: 'Michael' on lines 1 and 8.\n Match found: 'Cassandra' on lines 3 and 6. \n Total of 2 matches found.\n Please enter the OUTPUT TOO LONG Test Case 2 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input2.txt ENTER Match found: 'Michael' on lines 1 and 9.\n Match found: 'Cassandra' on lines 3 and 7.\n Total of 2 matches found. \n Please enter the OUTPUT TOO LONG Test Case 3 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input3.txt ENTER File input3.txt' is empty.\n Please e... OUTPUT TOO LONG Test Case 4 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input4.txt ENTER Match found: 'Michael' on lines 1 and 16. n Match found: 'Joshua' on lines 2 and 15.\n Match found: 'Cassandra' on lines 3 and 14. \n Match found: 'Joseph' on lines 4 and 13. \n Match found: 'William' on lines 5 and 12.\n Match found: 'Matthew' on lines 6 and 11. Match found: 'James' on lines 7 and 10. \n Match found: 'Steven' on lines 8 and 9.\n Total of 8 matches found.\n Please enter the file name or type QUIT t... OUTPUT TOO LONG Test Case 5 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input5.txt ENTER n File 'input5.txt' is not found.\n Please enter the file name or type QUIT to exit: \n input1.txt ENTER Match found: 'Michael' on lines 1 and 8.\n Match found: 'Cassandra' on lines 3 and 6. \n Total of 2 matches found.\n Please enter the file name or... OUTPUT TOO LONG Test Case 6 Failed Show what's missing Please enter the file name or type QUIT to exit: \n qUiT ENTER Progr... OUTPUT TOO LONG Test Case 7 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input5.txt ENTER File 'input5.txt' is not found.\n Please enter the file name or type QUIT to exit: \n quit ENTER Program terminate... OUTPUT TOO LONG Test Case 1 Failed Show what's missing Please enter the file name or type QUIT to exit: \n inputl.txt ENTER Match found: 'Michael' on lines 1 and 8.\n Match found: 'Cassandra' on lines 3 and 6.\n Total of 2 matches found.\n Test Case 2 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input2.txt ENTER Match found: 'Michael' on lines 1 and 9.\n Match found: 'Cassandra' on lines 3 and 7. n Total of 2 matches found.\n Test Case 3 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input3.txt ENTER File 'input3.txt' is empty.\n Test Case 4 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input4.txt ENTER Match found: 'Michael' on lines 1 and 16. \n Match found: 'Joshua' on lines 2 and 15.\n Match found: 'Cassandra' on lines 3 and 14. \n Match found: 'Joseph' on lines 4 and 13. \n Match found: 'William' on lines 5 and 12.\n Match found: 'Matthew' on lines 6 and 11. \n Match found: 'James' on lines 7 and 10. \n Match found: 'Steven' on lines 8 and 9.\n Total of 8 matches found.\n Test Case 5 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input5.txt ENTER File 'input5.txt' is not found.\n Please re-enter the file name or type QUIT to exit: \n input1.txt ENTER Match found: 'Michael' on lines 1 and 8.\n Match found: 'Cassandra' on lines 3 and 6. \n Total of 2 matches found.\n Test Case 6 Failed Show what's missing Please enter the file name or type QUIT to exit: \n qUiT ENTER Test Case 7 Failed Show what's missing Please enter the file name or type QUIT to exit: \n input5.txt ENTER File 'input5.txt' is not found.\n Please re-enter the file name or type QUIT to exit: \n quit ENTER
Input1.txt
Michael
Joshua
Cassandra
Joseph
William
Cassandra
Matthew
Michael
Input2.txt
Michael
Joshua
Cassandra
Joseph
James
William
Cassandra
Matthew
Michael
Input3.txt
Input3.txt is empty
Input4.txt
Michael
Joshua
Cassandra
Joseph
William
Matthew
James
Steven
Steven
James
Matthew
William
Joseph
Cassandra
Joshua
Michael
Transcribed Image Text:Input1.txt Michael Joshua Cassandra Joseph William Cassandra Matthew Michael Input2.txt Michael Joshua Cassandra Joseph James William Cassandra Matthew Michael Input3.txt Input3.txt is empty Input4.txt Michael Joshua Cassandra Joseph William Matthew James Steven Steven James Matthew William Joseph Cassandra Joshua Michael
Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Developing computer interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage