Please Modify this program ASAP BECAUSE IT IS MY MIDTERM so it passes all the test cases. It does not pass the test cases when I upload it to Hypergrade. Because RIGHT NOW IT PASSES 1 OUT OF 7 TEST CASES. And dont forget to 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
Please Modify this program ASAP BECAUSE IT IS MY MIDTERM so it passes all the test cases. It does not pass the test cases when I upload it to Hypergrade. Because RIGHT NOW IT PASSES 1 OUT OF 7 TEST CASES. And dont forget to 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
Programming with Microsoft Visual Basic 2017
8th Edition
ISBN:9781337102124
Author:Diane Zak
Publisher:Diane Zak
Chapter4: The Selection Structure
Section: Chapter Questions
Problem 7E
Related questions
Question
100%
JAVA PPROGRAM ASAP
Please Modify this program ASAP BECAUSE IT IS MY MIDTERM so it passes all the test cases. It does not pass the test cases when I upload it to Hypergrade. Because RIGHT NOW IT PASSES 1 OUT OF 7 TEST CASES. And dont forget to take out and change the following in the program:
The program must pass the test case when uploaded to Hypergrade.
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.
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();
}
}
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
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
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
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
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
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
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
input5.txtENTER
File 'input5.txt' is not found.\n
Please re-enter the file name or type QUIT to exit:\n
quitENTER
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 3 steps with 7 images
Knowledge Booster
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 with Microsoft Visual Basic 2017
Computer Science
ISBN:
9781337102124
Author:
Diane Zak
Publisher:
Cengage Learning
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:
9781337102124
Author:
Diane Zak
Publisher:
Cengage Learning