import java.util.Scanner;
public class ReverseDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("Please enter string");
String s = sc.nextLine();
// Simple use charAt method
System.out.print("// Simple use charAt method\n");
for(int i=s.length()-1; i>=0; i--){
System.out.print(s.charAt(i));
}
System.out.println("\n");
// Use charArray
System.out.print("// Use charArray\n");
char ch[] = s.toCharArray();
for(int i=ch.length-1; i>=0; i--)
{
System.out.print(ch[i]);
}
System.out.println("\n");
// Use StringBuilder
System.out.print("// Use StringBuilder and charArray\n");
StringBuilder sb = new StringBuilder();
for(int i=ch.length-1; i>=0; i--)
{
sb.append(ch[i]);
}
System.out.print(""+sb.toString());
System.out.println("\n");
// Use StringBuilder and reverse method
System.out.print("// Use StringBuilder and reverse method\n");
StringBuilder sbr = new StringBuilder(s);
String str = sbr.reverse().toString();
System.out.print(str);
System.out.println("\n");
// Reverse using recursion no inbuilt method
System.out.print("// Reverse using recursion no inbuilt method\n");
char str1[] = null;
str1 = s.toCharArray();
int size = str1.length;
reverse(str1, 0, size - 1);
System.out.print(str1);
}
public static void reverse(char str[], int stringIndex, int stringSize){
char temp;
temp = str[stringIndex];
str[stringIndex] = str[stringSize - stringIndex];
str[stringSize - stringIndex] = temp;
if (stringIndex == stringSize / 2)
{
return;
}
// Use recursion
reverse(str, stringIndex + 1, stringSize);
}
}
public class ReverseDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("Please enter string");
String s = sc.nextLine();
// Simple use charAt method
System.out.print("// Simple use charAt method\n");
for(int i=s.length()-1; i>=0; i--){
System.out.print(s.charAt(i));
}
System.out.println("\n");
// Use charArray
System.out.print("// Use charArray\n");
char ch[] = s.toCharArray();
for(int i=ch.length-1; i>=0; i--)
{
System.out.print(ch[i]);
}
System.out.println("\n");
// Use StringBuilder
System.out.print("// Use StringBuilder and charArray\n");
StringBuilder sb = new StringBuilder();
for(int i=ch.length-1; i>=0; i--)
{
sb.append(ch[i]);
}
System.out.print(""+sb.toString());
System.out.println("\n");
// Use StringBuilder and reverse method
System.out.print("// Use StringBuilder and reverse method\n");
StringBuilder sbr = new StringBuilder(s);
String str = sbr.reverse().toString();
System.out.print(str);
System.out.println("\n");
// Reverse using recursion no inbuilt method
System.out.print("// Reverse using recursion no inbuilt method\n");
char str1[] = null;
str1 = s.toCharArray();
int size = str1.length;
reverse(str1, 0, size - 1);
System.out.print(str1);
}
public static void reverse(char str[], int stringIndex, int stringSize){
char temp;
temp = str[stringIndex];
str[stringIndex] = str[stringSize - stringIndex];
str[stringSize - stringIndex] = temp;
if (stringIndex == stringSize / 2)
{
return;
}
// Use recursion
reverse(str, stringIndex + 1, stringSize);
}
}
Output:
No comments:
Post a Comment