Use a stack to reverse the words of a sentence. Keep reading words until you have a word that ends in a period, adding them onto a stack. When you have a word with a period, pop the words off and print them. Stop when there are no more words in the input. For example, you should turn the input Mary had a little lamb. Its fleece was white as snow. into Lamb little a had mary. Snow as white was fleece its. Pay attention to capitalization and the placement of the period. This is what I have so far: import java.util.Scanner; import java.util.Stack; /** Class for reversing the order of a sentence. */ public class SentenceReverser { /** Reverses the given sentence. @param sentence Sentence to be reversed. @return Reversed sentence. */ public static String reverse(String sentence) { String reversed = ""; Scanner scanner = new Scanner(sentence); Stack stack = new Stack(); // put your work below // ... return reversed; } public static void main(String[] args) { String sentence = "Mary had a little lamb. Its fleece was white as snow."; String reversed = SentenceReverser.reverse(sentence); System.out.println("Given: " + sentence); System.out.println("Expected: Lamb little a had mary. Snow as white was fleece its."); System.out.println("Actual: " + reversed); } }
Use a stack to reverse the words of a sentence. Keep reading words until you have a word that ends in a period, adding them onto a stack. When you have a word with a period, pop the words off and print them. Stop when there are no more words in the input. For example, you should turn the input
Mary had a little lamb. Its fleece was white as snow.
into
Lamb little a had mary. Snow as white was fleece its.
Pay attention to capitalization and the placement of the period.
This is what I have so far:
import java.util.Scanner;
import java.util.Stack;
/**
Class for reversing the order of a sentence.
*/
public class SentenceReverser
{
/**
Reverses the given sentence.
@param sentence Sentence to be reversed.
@return Reversed sentence.
*/
public static String reverse(String sentence)
{
String reversed = "";
Scanner scanner = new Scanner(sentence);
Stack<String> stack = new Stack<String>();
// put your work below
// ...
return reversed;
}
public static void main(String[] args)
{
String sentence = "Mary had a little lamb. Its fleece was white as snow.";
String reversed = SentenceReverser.reverse(sentence);
System.out.println("Given: " + sentence);
System.out.println("Expected: Lamb little a had mary. Snow as white was fleece its.");
System.out.println("Actual: " + reversed);
}
}
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images