Java Program ASAP ************This program must work in hypergrade and pass all the test cases.********** Please modify this program evem more becausse when it does not pass the test cases as sshown in the screenshot. I have provided the correct test case too. Thank you! For Test Case 1 first print out Please enter the file name or type QUIT to exit:\ then you type text1.txtENTER and it displays Stop And Smell The Roses./n there needs to be nothing after that. For test case 2 first print out Please enter the file name or type QUIT to exit: then you type txt1.txtENTER then it reads out File 'txt1.txt' is not found.\n Then it didplays Please re-enter the file name or type QUIT to exit:\n after the test file is not found. then you type in text1.txt and it displays stop and smell the roses.\n. For test case 3 first print out Please enter the file name or type QUIT to exit: then you type text2.txtENTER and it displays A true rebel you are! Everyone was impressed. You'll do well to continue in the same spirit.\n Please explain a bit more in the way of footnotes. From the given text it's not clear what are we reading about.\n and there needs to be nothing after that. For test case 4 first print out Please enter the file name or type QUIT to exit: then you type somefile.txtENTER and it displays File 'somefile.txt' is not found.\n then it displays Please re-enter the file name or type QUIT to exit:\n then you type anotherbadfile.txtENTER and it dispalys File 'anotherbadfile.txt' is not found.\n then in. repeats Please re-enter the file name or type QUIT to exit:\n and you type quit and it ends the program. import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.regex.Pattern; import java.util.regex.Matcher; public class WordSeparator { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { String inputFileName; boolean fileNotFound; System.out.print("Please enter the file name or type QUIT to exit:\n"); do{ //while (true) { fileNotFound = false; // Reset fileNotFound flag for each iteration //System.out.print("Please enter the file name or type QUIT to exit:\n"); inputFileName = reader.readLine(); if (inputFileName.equalsIgnoreCase("QUIT")) { break; } try { BufferedReader fileReader = new BufferedReader(new FileReader(inputFileName)); String line; StringBuilder result = new StringBuilder(); while ((line = fileReader.readLine()) != null) { // Use regular expressions to split the input into words and punctuation Pattern pattern = Pattern.compile("([A-Z][a-z]*|[.!?])"); Matcher matcher = pattern.matcher(line); boolean newSentence = true; while (matcher.find()) { String token = matcher.group(); if (newSentence && !token.equals(".")) { result.append(token.substring(0, 1).toUpperCase()).append(token.substring(1)); newSentence = false; } else { if (token.equals(".") || token.equals("!") || token.equals("?")) { newSentence = true; } result.append(" ").append(token); } } } System.out.println(result.toString().trim()); // Remove trailing newline fileReader.close(); break; } catch (IOException e) { fileNotFound = true; System.out.println("File '" + inputFileName + "' is not found."); System.out.print("Please re-enter the file name or type QUIT to exit:\n"); } //if (fileNotFound) { //System.out.print("Please re-enter the file name or type QUIT to exit:\n"); //} }while(true); } catch (IOException e) { e.printStackTrace(); } } } text1.txt StopAndSmellTheRoses. text2.txt ATrueRebelYouAre!EveryoneWasImpressed.You'llDoWellToContinueInTheSameSpirit. PleaseExplainABitMoreInTheWayOfFootnotes.FromTheGivenTextIt'sNotClearWhatAreWeReadingAbout.
Please explain a bit more in the way of footnotes. From the given text it's not clear what are we reading about.\n and there needs to be nothing after that.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class WordSeparator {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
String inputFileName;
boolean fileNotFound;
System.out.print("Please enter the file name or type QUIT to exit:\n");
do{
//while (true) {
fileNotFound = false; // Reset fileNotFound flag for each iteration
//System.out.print("Please enter the file name or type QUIT to exit:\n");
inputFileName = reader.readLine();
if (inputFileName.equalsIgnoreCase("QUIT")) {
break;
}
try {
BufferedReader fileReader = new BufferedReader(new FileReader(inputFileName));
String line;
StringBuilder result = new StringBuilder();
while ((line = fileReader.readLine()) != null) {
// Use regular expressions to split the input into words and punctuation
Pattern pattern = Pattern.compile("([A-Z][a-z]*|[.!?])");
Matcher matcher = pattern.matcher(line);
boolean newSentence = true;
while (matcher.find()) {
String token = matcher.group();
if (newSentence && !token.equals(".")) {
result.append(token.substring(0, 1).toUpperCase()).append(token.substring(1));
newSentence = false;
} else {
if (token.equals(".") || token.equals("!") || token.equals("?")) {
newSentence = true;
}
result.append(" ").append(token);
}
}
}
System.out.println(result.toString().trim()); // Remove trailing newline
fileReader.close();
break;
} catch (IOException e) {
fileNotFound = true;
System.out.println("File '" + inputFileName + "' is not found.");
System.out.print("Please re-enter the file name or type QUIT to exit:\n");
}
//if (fileNotFound) {
//System.out.print("Please re-enter the file name or type QUIT to exit:\n");
//}
}while(true);
} catch (IOException e) {
e.printStackTrace();
}
}
}
PleaseExplainABitMoreInTheWayOfFootnotes.FromTheGivenTextIt'sNotClearWhatAreWeReadingAbout.
Step by step
Solved in 4 steps with 5 images