JAVA PROGRAM ASAP Please MODIFY THIS program ASAP BECAUSE it does not pass all the test caseswhen I upload it to hypergrade. I have provided the correct test cases as a screenshot as well as the failed test cases. It says 0 out of 4 passed. The program must pass the test case when uploaded to Hypergrade. Files data are down below: text1.txt StopAndSmellTheRoses. text2.txt ATrueRebelYouAre!EveryoneWasImpressed.You'llDoWellToContinueInTheSameSpirit. PleaseExplainABitMoreInTheWayOfFootnotes.FromTheGivenTextIt'sNotClearWhatAreWeReadingAbout. import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; class Main { // Driver code public static void main(String[] args) { // scanner object used to take user input Scanner sc = new Scanner(System.in); // loop iterates until user enters "quit" or "QUIT" while (true) { System.out.print("Please enter the file name or type QUIT to exit:\n"); String fileName = sc.nextLine(); if (fileName.equalsIgnoreCase("QUIT")) { break; } try { // open file in read mode BufferedReader reader = new BufferedReader(new FileReader(fileName)); String line; StringBuilder result = new StringBuilder(); // for each line while ((line = reader.readLine()) != null) { String formattedSentence = formatSentence(line); result.append(formattedSentence).append("\n"); } System.out.println(result.toString()); reader.close(); } catch (IOException e) { System.out.println("File '" + fileName + "' is not found."); } } } // creating a method public static String formatSentence(String sentence) { StringBuilder formatted = new StringBuilder(); int i=0; for (char c : sentence.toCharArray()) { if (Character.isLetter(c)) { if (Character.isUpperCase(c)) { if(i != 0){ formatted.append(" "); } if(i == 0){ formatted.append(Character.toUpperCase(c)); } else{ formatted.append(Character.toLowerCase(c)); } } else { formatted.append(Character.toLowerCase(c)); } } else if (c == '.' || c == '!' || c == '?') { formatted.append(c).append(" "); i = -1; } else{ formatted.append(c); } i++; } return formatted.toString(); } } Test Case 1 Please enter the file name or type QUIT to exit:\n text1.txtENTER Stop and smell the roses.\n Test Case 2 Please enter the file name or type QUIT to exit:\n txt1.txtENTER File 'txt1.txt' is not found.\n Please re-enter the file name or type QUIT to exit:\n text1.txtENTER Stop and smell the roses.\n Test Case 3 Please enter the file name or type QUIT to exit:\n text2.txtENTER 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 Test Case 4 Please enter the file name or type QUIT to exit:\n somefile.txtENTER File 'somefile.txt' is not found.\n Please re-enter the file name or type QUIT to exit:\n anotherbadfile.txtENTER File 'anotherbadfile.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 does not pass all the test caseswhen I upload it to hypergrade. I have provided the correct test cases as a screenshot as well as the failed test cases. It says 0 out of 4 passed. The program must pass the test case when uploaded to Hypergrade.
Files data are down below:
PleaseExplainABitMoreInTheWayOfFootnotes.FromTheGivenTextIt'sNotClearWhatAreWeReadingAbout.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
class Main {
// Driver code
public static void main(String[] args) {
// scanner object used to take user input
Scanner sc = new Scanner(System.in);
// loop iterates until user enters "quit" or "QUIT"
while (true) {
System.out.print("Please enter the file name or type QUIT to exit:\n");
String fileName = sc.nextLine();
if (fileName.equalsIgnoreCase("QUIT")) {
break;
}
try {
// open file in read mode
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line;
StringBuilder result = new StringBuilder();
// for each line
while ((line = reader.readLine()) != null) {
String formattedSentence = formatSentence(line);
result.append(formattedSentence).append("\n");
}
System.out.println(result.toString());
reader.close();
} catch (IOException e) {
System.out.println("File '" + fileName + "' is not found.");
}
}
}
// creating a method
public static String formatSentence(String sentence) {
StringBuilder formatted = new StringBuilder();
int i=0;
for (char c : sentence.toCharArray()) {
if (Character.isLetter(c)) {
if (Character.isUpperCase(c)) {
if(i != 0){
formatted.append(" ");
}
if(i == 0){
formatted.append(Character.toUpperCase(c));
}
else{
formatted.append(Character.toLowerCase(c));
}
} else {
formatted.append(Character.toLowerCase(c));
}
} else if (c == '.' || c == '!' || c == '?') {
formatted.append(c).append(" ");
i = -1;
}
else{
formatted.append(c);
}
i++;
}
return formatted.toString();
}
}
text1.txtENTER
Stop and smell the roses.\n
Test Case 2
txt1.txtENTER
File 'txt1.txt' is not found.\n
Please re-enter the file name or type QUIT to exit:\n
text1.txtENTER
Stop and smell the roses.\n
Test Case 3
text2.txtENTER
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
Test Case 4
somefile.txtENTER
File 'somefile.txt' is not found.\n
Please re-enter the file name or type QUIT to exit:\n
anotherbadfile.txtENTER
File 'anotherbadfile.txt' is not found.\n
Please re-enter the file name or type QUIT to exit:\n
quitENTER
Step by step
Solved in 4 steps with 2 images