import java.util.*;
import java.io.*;
public class Reversor {
private ArrayList<String> sentence;
private ArrayList<String> newSentence;
String word;
String w;
public void getSentence() throws IOException {
sentence = new ArrayList<String>();
Scanner fileScan = new Scanner (new File("data/sentence.txt"));
while(fileScan.hasNext()){
String word= fileScan.next();
sentence.add(word);
}
System.out.println(sentence);
}
public void reverseEachWord(){
newSentence = new ArrayList<String>();
for (String word : sentence) {
Stack reverseWordStack = stackChars(word);
String reverseWord = unStackChars(reverseWordStack);
newSentence.add(reverseWord);
System.out.println(newSentence);
}
}
private Stack<Character> stackChars(String word){
Stack reverseWordStack = new Stack<Character>();
for (int i=0; i<word.length(); i++){
reverseWordStack.push(word.charAt(i));
}
return reverseWordStack;
}
private String unStackChars(Stack<Character> chars) {
String newWord = new String();
while (!chars.isEmpty()) {
newWord += chars.pop();
}
return newWord;
}
public String toString() {
StringBuffer result = new StringBuffer(" ");
for (String word : newSentence){
result.append(" ");
result.append(word);
}
return result.toString();
}
}
import java.io.IOException;
public class Driver {
public static void main(String[] args){
Reversor r= new Reversor();
try {
r.getSentence();
r.reverseEachWord();
// r.stackChars();
r.toString();
} catch (IOException e) {
e.printStackTrace();
}
}
}