Write a program that prompts the user to enter a file name, then opens the file in text mode and reads it line by line. While entering the file name, the program should allow the user to type quit to exit the program. If the file with a given name does not exist, then display a message and allow the user to re-enter the file name.
Write a program that prompts the user to enter a file name, then opens the file in text mode and reads it line by line. While entering the file name, the program should allow the user to type quit to exit the program. If the file with a given name does not exist, then display a message and allow the user to re-enter the file name.
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
Related questions
Question
Java Program ASAP
************This program must work in hypergrade and pass all the test cases.**********
This program down below does not pass the test cases in Hypergrade as shown in the scheenshot. Please modify it. Also I have provided the code instructions. Thank you
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 {
fileNotFound = false; // Reset fileNotFound flag for each iteration
inputFileName = reader.readLine();
if (inputFileName.equalsIgnoreCase("QUIT")) {
break;
}
try {
BufferedReader fileReader = new BufferedReader(new FileReader(inputFileName));
String line;
StringBuilder result = new StringBuilder();
boolean newSentence = true;
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);
while (matcher.find()) {
String token = matcher.group();
if (newSentence && !token.equals(".")) {
token = token.substring(0, 1).toLowerCase() + token.substring(1);
result.append(token);
newSentence = false;
} else {
if (token.equals(".") || token.equals("!") || token.equals("?")) {
newSentence = true;
result.append("\n");
}
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");
}
} while (true);
} catch (IOException e) {
e.printStackTrace();
}
}
}
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 {
fileNotFound = false; // Reset fileNotFound flag for each iteration
inputFileName = reader.readLine();
if (inputFileName.equalsIgnoreCase("QUIT")) {
break;
}
try {
BufferedReader fileReader = new BufferedReader(new FileReader(inputFileName));
String line;
StringBuilder result = new StringBuilder();
boolean newSentence = true;
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);
while (matcher.find()) {
String token = matcher.group();
if (newSentence && !token.equals(".")) {
token = token.substring(0, 1).toLowerCase() + token.substring(1);
result.append(token);
newSentence = false;
} else {
if (token.equals(".") || token.equals("!") || token.equals("?")) {
newSentence = true;
result.append("\n");
}
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");
}
} while (true);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Code instructions down below:
Chapter 9. PC #14. Word Separator (modified *** Read carefully ***)
Write a program that prompts the user to enter a file name, then opens the file in text mode and reads it line by line. While entering the file name, the program should allow the user to type quit to exit the program. If the file with a given name does not exist, then display a message and allow the user to re-enter the file name.
The file can contain one or more sentences. The program should accept as input each sentence in which all the words are run together, but the first character of each word is uppercase. Convert sentences to strings in which the words are separated by spaces and only the first word starts with an uppercase letter. For example, the string StopAndSmellTheRoses.” would be converted to “Stop and smell the roses.” Sentences are separated by periods ('.'), exclamation marks ('!'), or question marks ('?'). Ensure that there is one space character in between sentences.
text1.txt
StopAndSmellTheRoses.
text2.txt
ATrueRebelYouAre!EveryoneWasImpressed.You'llDoWellToContinueInTheSameSpirit.
PleaseExplainABitMoreInTheWayOfFootnotes.FromTheGivenTextIt'sNotClearWhatAreWeReadingAbout.
PleaseExplainABitMoreInTheWayOfFootnotes.FromTheGivenTextIt'sNotClearWhatAreWeReadingAbout.
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 5 steps with 10 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
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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education