import java.util.*; import java.io.*; public class Reversor { private ArrayList sentence; private ArrayList newSentence; String word; String w; public void getSentence() throws IOException { sentence = new ArrayList(); 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(); for (String word : sentence) { Stack reverseWordStack = stackChars(word); String reverseWord = unStackChars(reverseWordStack); newSentence.add(reverseWord); System.out.println(newSentence); } } private Stack stackChars(String word){ Stack reverseWordStack = new Stack(); for (int i=0; i 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(); } } }