Write a function that reverses the order of the words in a string.
For Example, your function should transform the string
"Do or do not, there is no try." to "try. no is there not, do or Do".
Assume that all words are space delimited and treat punctuation same as letters.
Filename: Execute.java
----------------------------------------------------------------------------------------------------
package org.developersbrain.solutions;
public class Execute {
public static String reverseWords(String str,char delimiter){
//Split the words into array of strings
char[] chrArray=str.toCharArray();
int no_of_Delimiters=0;
for(int i=0;i<chrArray.length;i++){
if(chrArray[i]==delimiter) no_of_Delimiters++;
}
//Populate string list of words
String[] strList=new String[no_of_Delimiters+1];
for(int i=0,j=0;j<chrArray.length;j++){
if(i==0 && j==0){
strList[i]="";
}
if(chrArray[j]==delimiter){
i++;
strList[i]="";
}else{
strList[i]=strList[i]+chrArray[j];
}
}
//Reverse the array strList
String retStr="";
for(int i=strList.length-1;i>=0;i--){
retStr = retStr+strList[i]+delimiter;
}
return retStr;
}
public static void main(String[] args){
String inputString="Do or do not, there is no try.";
System.out.println("Input String:");
System.out.println("----------------------------------");
System.out.println(inputString);
System.out.println();
System.out.println("Output:");
System.out.println("----------------------------------");
System.out.println(reverseWords("Do or do not, there is no try.",' '));
}
}
For Example, your function should transform the string
"Do or do not, there is no try." to "try. no is there not, do or Do".
Assume that all words are space delimited and treat punctuation same as letters.
Filename: Execute.java
----------------------------------------------------------------------------------------------------
package org.developersbrain.solutions;
public class Execute {
public static String reverseWords(String str,char delimiter){
//Split the words into array of strings
char[] chrArray=str.toCharArray();
int no_of_Delimiters=0;
for(int i=0;i<chrArray.length;i++){
if(chrArray[i]==delimiter) no_of_Delimiters++;
}
//Populate string list of words
String[] strList=new String[no_of_Delimiters+1];
for(int i=0,j=0;j<chrArray.length;j++){
if(i==0 && j==0){
strList[i]="";
}
if(chrArray[j]==delimiter){
i++;
strList[i]="";
}else{
strList[i]=strList[i]+chrArray[j];
}
}
//Reverse the array strList
String retStr="";
for(int i=strList.length-1;i>=0;i--){
retStr = retStr+strList[i]+delimiter;
}
return retStr;
}
public static void main(String[] args){
String inputString="Do or do not, there is no try.";
System.out.println("Input String:");
System.out.println("----------------------------------");
System.out.println(inputString);
System.out.println();
System.out.println("Output:");
System.out.println("----------------------------------");
System.out.println(reverseWords("Do or do not, there is no try.",' '));
}
}
Program Output:
++++++++++++++++++++++++++++++++++++++++++++++
Input String:
----------------------------------
Do or do not, there is no try.
Output:
----------------------------------
try. no is there not, do or Do
Comments
Post a Comment