import java.util.Scanner; import java.util.Arrays; class palin_alpha_rev_concat{ static boolean palindrome(String str) { String rev=reverse(str); return str.contentEquals(rev); } static String[] alphabetic(String str) { char[] arr = str.toCharArray(); Arrays.sort(arr); String sortedStr = new String(arr); String[] result = new String[sortedStr.length()]; for (int i = 0; i < sortedStr.length(); i++) { result[i] = String.valueOf(sortedStr.charAt(i)); } return result; } static String reverse(String str) { StringBuffer rev=new StringBuffer(str); rev.reverse(); String revstr=rev.toString(); return revstr; } static String concatenate(String str) { String rev=reverse(str); return str+rev; } public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.println("Enter the String"); String str=in.nextLine(); char contin='y'; while(contin=='y'){ System.out.println("What do you want to do? 1. Check for Palindrome; 2. Write in an alphabetic order; 3. Reverse the String; 4. Concatenate with reversed"); int choice=in.nextInt(); switch(choice) { case 1: { System.out.println("String is a palindrome:"+palindrome(str)); break; } case 2: { String arr[] = alphabetic(str); System.out.println("String in alphabetic order:"); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]); } System.out.println(); break; } case 3: { System.out.println("Reversed string="+reverse(str)); break; } case 4: { System.out.println("Concatenated String="+concatenate(str)); break; } } System.out.println("Continue?(y/n)"); contin=in.next().charAt(0); } } }