Convert C++ to Java Program. Would prefer getting a user input to check the stri
ID: 3879030 • Letter: C
Question
Convert C++ to Java Program. Would prefer getting a user input to check the string instead of hardcoding in program. Must be recursive.
#include <iostream>
#include <string>
using namespace std;
bool OddPalindrome(string w){
if(w.empty()) {
return false;
}else if(w.compare("a")==0||w.compare("b")==0){
return true;
}else if(w.length()==1||w[0]!=w[w.length()-1]||w[0]!='a'&&w[0]!='b'){
return false;
} else{
//check substr removing first and last character
return true&&OddPalindrome(w.substr(1,w. length()-2));
}
}
int main(){
cout<<"OddPalindrome(abaaba):"<<OddPalindrome("abaaba")<<endl;
cout<<"OddPalindrome(bbaabbb):"<<OddPalindrome("bbaabbb")<<endl;
cout<<"OddPalindrome(abababa):"<<OddPalindrome("abababa")<<endl;
cout<<"OddPalindrome(aabcbaa):"<<OddPalindrome("aabcbaa")<<endl;
cout<<"OddPalindrome(baabbbaab):"<<OddPalindrome("baabbbaab");
}
Explanation / Answer
import java.util.*;
class Palindrome
{
public static void main (String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter the string : ");
String s = sc.next();
System.out.println("OddPalindrome("+s+") :" + OddPalindrome(s));
}
public static boolean OddPalindrome(String w)
{
if(w.isEmpty()) {
return false;
}else if(!w.equals("a") || !w.equals("b")){
return true;
}else if(w.length()==1 || w.charAt(0)!=w.charAt(w.length()-1) || w.charAt(0)!='a' && w.charAt(0)!='b')
{
return false;
} else{
//check substr removing first and last character
return true && OddPalindrome(w.substring(1,w.length()-2));
}
}
}
Output:
Enter the string : abaaba
OddPalindrome(abaaba) :true
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.