//Recursion: Program - Reverse Sentence import java.io.*; import java.util.*; class myWordReverse { static BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in)); static ArrayList sentence = new ArrayList(); // declare an array of integers public static void main(String[] args) throws IOException { String input; int i; System.out.print("please enter the sentence: "); input=keyboard.readLine(); my_Reverse(input); for (i=1;i<=sentence.size();i++) { System.out.print(sentence.get(i-1)+" "); } } public static void my_Reverse(String input) { int pos; String current; if (input.length()==0) { System.out.println("finish!"); return; } pos= input.indexOf(" "); if (pos==-1) { current=input; sentence.add(current); return; } else { current=input.substring(0,pos); input=input.substring(pos+1); my_Reverse(input); sentence.add(current); } } }