2024-10-14 09:46:21 +05:30
import java.util.Scanner ;
2024-10-14 09:56:35 +05:30
import java.util.Arrays ;
2024-10-14 11:07:40 +05:30
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 ) ) ;
2024-10-14 09:46:21 +05:30
break ;
}
}
System . out . println ( " Continue?(y/n) " ) ;
contin = in . next ( ) . charAt ( 0 ) ;
}
}
2024-10-14 02:40:08 +05:30
}