Write a program to accept a sentence which may be terminated by either ‘.’ ‘?’ or ‘!’ only. Any other character may be ignored. The words may be separated by more than one blank space and are in UPPER CASE.
Perform the following tasks:
(a) Accept the sentence and reduce all the extra blank space between two words to
a single blank space.
(b) Accept a word from the user which is part of the sentence along with its
position number and delete the word and display the sentence.
Test your program with the sample data and some random data:
Example 1
INPUT: A MORNING WALK IS A IS BLESSING FOR THE WHOLE DAY.
WORD TO BE DELETED: IS
WORD POSITION IN THE SENTENCE: 6
OUTPUT: A MORNING WALK IS A BLESSING FOR THE WHOLE DAY.
Example 2
INPUT: AS YOU SOW, SO SO YOU REAP.
WORD TO BE DELETED: SO
WORD POSITION IN THE SENTENCE: 4
OUTPUT: AS YOU SOW, SO YOU REAP.
Example 3
INPUT: STUDY WELL ##.
OUTPUT: INVALID INPUT.
import java.io.*;
class RemoveWord
{
public static void main(String args[])throws IOException
{
BufferedReader br=new BufferedReader (new InputStreamReader (System.in));
System.out.print("Enter any sentence : "); // Inputting the sentence
String s = br.readLine();
s = s.toUpperCase(); // Converting the sentence into Upper Case
int l = s.length();
String ans=""; // String variable to store the final result
char last = s.charAt(l-1); // Extracting the last character
/* Checking whether the sentence ends with '.', '?' or a '!' or not */
if(last == '.' || last == '?' || last == '!')
{
String word[]=s.split("[.?! ]+"); // Saving the words in an array using split()
int c = word.length; // Finding the number of words
System.out.print("Enter the word to delete : ");
String del = br.readLine();
del = del.toUpperCase();
System.out.print("Enter the word position in the sentence : ");
int x = Integer.parseInt(br.readLine());
if(x<1 || x>c) // Checking whether integer inputted is acceptable or not
{
System.out.println("Sorry! The word position entered is out of range");
}
else
{
for(int i=0; i<c; i++)
{
/* Skipping if the word to delete and the position matches */
if(word[i].equals(del)==true && i == x-1)
continue;
ans = ans + word[i] + " ";
}
System.out.print("Output : "+ans.trim()+last);
}
}
else
{
System.out.println("Invalid Input. End a sentence with either '.', '?' or '!'");
}
}
}
Perform the following tasks:
(a) Accept the sentence and reduce all the extra blank space between two words to
a single blank space.
(b) Accept a word from the user which is part of the sentence along with its
position number and delete the word and display the sentence.
Test your program with the sample data and some random data:
Example 1
INPUT: A MORNING WALK IS A IS BLESSING FOR THE WHOLE DAY.
WORD TO BE DELETED: IS
WORD POSITION IN THE SENTENCE: 6
OUTPUT: A MORNING WALK IS A BLESSING FOR THE WHOLE DAY.
Example 2
INPUT: AS YOU SOW, SO SO YOU REAP.
WORD TO BE DELETED: SO
WORD POSITION IN THE SENTENCE: 4
OUTPUT: AS YOU SOW, SO YOU REAP.
Example 3
INPUT: STUDY WELL ##.
OUTPUT: INVALID INPUT.
import java.io.*;
class RemoveWord
{
public static void main(String args[])throws IOException
{
BufferedReader br=new BufferedReader (new InputStreamReader (System.in));
System.out.print("Enter any sentence : "); // Inputting the sentence
String s = br.readLine();
s = s.toUpperCase(); // Converting the sentence into Upper Case
int l = s.length();
String ans=""; // String variable to store the final result
char last = s.charAt(l-1); // Extracting the last character
/* Checking whether the sentence ends with '.', '?' or a '!' or not */
if(last == '.' || last == '?' || last == '!')
{
String word[]=s.split("[.?! ]+"); // Saving the words in an array using split()
int c = word.length; // Finding the number of words
System.out.print("Enter the word to delete : ");
String del = br.readLine();
del = del.toUpperCase();
System.out.print("Enter the word position in the sentence : ");
int x = Integer.parseInt(br.readLine());
if(x<1 || x>c) // Checking whether integer inputted is acceptable or not
{
System.out.println("Sorry! The word position entered is out of range");
}
else
{
for(int i=0; i<c; i++)
{
/* Skipping if the word to delete and the position matches */
if(word[i].equals(del)==true && i == x-1)
continue;
ans = ans + word[i] + " ";
}
System.out.print("Output : "+ans.trim()+last);
}
}
else
{
System.out.println("Invalid Input. End a sentence with either '.', '?' or '!'");
}
}
}