JAVA PPROGRAM   Please Modify this program with further modifications as listed below: ALSO, take out and change the following in the program:  System.out.println("Program terminated."); because the test case does not need it And change this in the program: Please enter the file name or type QUIT to exit:\n so it reperats once for every test case because it repeats twice in every case as shown in the screenshot. I only need it once. I have provided the failed the test cases and the inputs as a screenshot.  The program must pass the test case when uploaded to Hypergrade.   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.                 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();     } }   Test Case 1     Please enter the file name or type QUIT to exit:\n input1.txtENTER 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     Please enter the file name or type QUIT to exit:\n input2.txtENTER 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     Please enter the file name or type QUIT to exit:\n input3.txtENTER File 'input3.txt' is empty.\n   Test Case 4     Please enter the file name or type QUIT to exit:\n input4.txtENTER 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     Please enter the file name or type QUIT to exit:\n input5.txtENTER File 'input5.txt' is not found.\n Please re-enter the file name or type QUIT to exit:\n input1.txtENTER 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     Please enter the file name or type QUIT to exit:\n qUiTENTER   Test Case 7     Please enter the file name or type QUIT to exit:\n input5.txtENTER File 'input5.txt' is not found.\n Please re-enter the file name or type QUIT to exit:\n quitENTER

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
JAVA PPROGRAM
 
Please Modify this program with further modifications as listed below:
ALSO, take out and change the following in the program: 

System.out.println("Program terminated."); because the test case does not need it And change this in the program: Please enter the file name or type QUIT to exit:\n so it reperats once for every test case because it repeats twice in every case as shown in the screenshot. I only need it once. I have provided the failed the test cases and the inputs as a screenshot. 

The program must pass the test case when uploaded to Hypergrade.
 
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.
                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

 
 
Please enter the file name or type QUIT to exit:\n
input1.txtENTER
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

 
 
Please enter the file name or type QUIT to exit:\n
input2.txtENTER
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

 
 
Please enter the file name or type QUIT to exit:\n
input3.txtENTER
File 'input3.txt' is empty.\n
 

Test Case 4

 
 
Please enter the file name or type QUIT to exit:\n
input4.txtENTER
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

 
 
Please enter the file name or type QUIT to exit:\n
input5.txtENTER
File 'input5.txt' is not found.\n
Please re-enter the file name or type QUIT to exit:\n
input1.txtENTER
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

 
 
Please enter the file name or type QUIT to exit:\n
qUiTENTER
 

Test Case 7

 
 
Please enter the file name or type QUIT to exit:\n
input5.txtENTER
File 'input5.txt' is not found.\n
Please re-enter the file name or type QUIT to exit:\n
quitENTER
 
 
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
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
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 Passed!
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
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
Test Case 2
Failed
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
Test Case 3 Failed
OUTPUT TOO LONG
Total of 2 matches found.\n
Please enter the
Show what's missing
Please enter the file name or type QUIT to exit: \n
input3.txt ENTER
OUTPUT TOO LONG
File input3.txt' is empty.\n
Please e... OUTPUT TOO LONG
Test Case 5 Failed
Show what's missing
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
Please enter the file name or type QUIT t... OUTPUT TOO LONG
Test Case 6
Passed!
Please enter the file name or type QUIT to exit: \n
input5.txt ENTER
Show what's missing
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
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 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 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 Passed! 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 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 Test Case 2 Failed 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 Test Case 3 Failed OUTPUT TOO LONG Total of 2 matches found.\n Please enter the Show what's missing Please enter the file name or type QUIT to exit: \n input3.txt ENTER OUTPUT TOO LONG File input3.txt' is empty.\n Please e... OUTPUT TOO LONG Test Case 5 Failed Show what's missing 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 Please enter the file name or type QUIT t... OUTPUT TOO LONG Test Case 6 Passed! Please enter the file name or type QUIT to exit: \n input5.txt ENTER Show what's missing 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 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 enter the file name or type QUIT to exit: \n quit ENTER
Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Unreferenced Objects
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education