1) For String Palindrome
====================
public class PalindromeRecursion
{
public static void main(String...args)
{
String inputString="aabaa";
System.out.println(isPalindromeUsingRecursion(inputString) ? inputString+ " is a palindrome." : inputString+ "is not a palindrome.");
}
/**
* This methods finds out whether inputString is palindrome or not recursively.
* Returns true if inputString is palindrome.
*/
public static boolean isPalindromeUsingRecursion(String inputString)
{
if(inputString.length()==0 || inputString.length()==1)
{
return true;
}
if(inputString.charAt(0)==inputString.charAt(inputString.length()-1))
{
return isPalindromeUsingRecursion(inputString.substring(1,inputString.length()-1));
}
return false;
}
}
2) For Factorial of a Number
======================
public class FactorialRecursion {
public static void main(String...args){
int num=4;
System.out.println("Factorial of "+num+" is: "+findFactorail(num));
}
public static int findFactorail(int num)
{
if(num==0)
return 1;
return num* findFactorail(num-1);
}
}
3) For reversing String
==================
public class ReverseStringRecursion {
public static void main(String...args){
String originalString="abcde"; //String to be reversed
System.out.println("Original String: "+originalString);
System.out.print("Reversed String: ");
reverseRecursively(originalString);
}
public static void reverseRecursively(String str) {
if (str.length() == 1){
System.out.print(str);
}
else {
reverseRecursively(str.substring(1, str.length()));
System.out.print(str.substring(0, 1));
}
}
}
4) For Fibonacci Series
===================
public class FibonacciRecursion
{
public static void main(String...args)
{
int n = 10; //generate series upto n.
System.out.print("FibonacciSeries : 0 1 ");
for(int i=2; i<=n; i++){
System.out.print(fibonacciRecursion(i) +" ");
}
}
/*
* return next number of FibonacciSeries using recursion.
*/
public static int fibonacciRecursion(int n){
if(n == 1 || n == 2){
return 1;
}
return fibonacciRecursion(n-1) + fibonacciRecursion(n-2); //using tail recursion
}
}
5) For Finding sum of digits in a number
================================
public class SumOfDigitsInNumberRecursion
{
public static void main(String...args)
{
int number=1234;
System.out.println("number : "+number);
System.out.println("sum of digits : "+sumOfDigitsUsingRecursion(number));
}
static int sum=0;
public static int sumOfDigitsUsingRecursion(int number)
{
if(number == 0)
{
return sum;
}
else
{
sum = sum + (number%10);
sumOfDigitsUsingRecursion(number/10);
}
return sum;
}
}
====================
public class PalindromeRecursion
{
public static void main(String...args)
{
String inputString="aabaa";
System.out.println(isPalindromeUsingRecursion(inputString) ? inputString+ " is a palindrome." : inputString+ "is not a palindrome.");
}
/**
* This methods finds out whether inputString is palindrome or not recursively.
* Returns true if inputString is palindrome.
*/
public static boolean isPalindromeUsingRecursion(String inputString)
{
if(inputString.length()==0 || inputString.length()==1)
{
return true;
}
if(inputString.charAt(0)==inputString.charAt(inputString.length()-1))
{
return isPalindromeUsingRecursion(inputString.substring(1,inputString.length()-1));
}
return false;
}
}
2) For Factorial of a Number
======================
public class FactorialRecursion {
public static void main(String...args){
int num=4;
System.out.println("Factorial of "+num+" is: "+findFactorail(num));
}
public static int findFactorail(int num)
{
if(num==0)
return 1;
return num* findFactorail(num-1);
}
}
3) For reversing String
==================
public class ReverseStringRecursion {
public static void main(String...args){
String originalString="abcde"; //String to be reversed
System.out.println("Original String: "+originalString);
System.out.print("Reversed String: ");
reverseRecursively(originalString);
}
public static void reverseRecursively(String str) {
if (str.length() == 1){
System.out.print(str);
}
else {
reverseRecursively(str.substring(1, str.length()));
System.out.print(str.substring(0, 1));
}
}
}
4) For Fibonacci Series
===================
public class FibonacciRecursion
{
public static void main(String...args)
{
int n = 10; //generate series upto n.
System.out.print("FibonacciSeries : 0 1 ");
for(int i=2; i<=n; i++){
System.out.print(fibonacciRecursion(i) +" ");
}
}
/*
* return next number of FibonacciSeries using recursion.
*/
public static int fibonacciRecursion(int n){
if(n == 1 || n == 2){
return 1;
}
return fibonacciRecursion(n-1) + fibonacciRecursion(n-2); //using tail recursion
}
}
5) For Finding sum of digits in a number
================================
public class SumOfDigitsInNumberRecursion
{
public static void main(String...args)
{
int number=1234;
System.out.println("number : "+number);
System.out.println("sum of digits : "+sumOfDigitsUsingRecursion(number));
}
static int sum=0;
public static int sumOfDigitsUsingRecursion(int number)
{
if(number == 0)
{
return sum;
}
else
{
sum = sum + (number%10);
sumOfDigitsUsingRecursion(number/10);
}
return sum;
}
}
String s1= "DaddyMommy";
ReplyDeleteint size = s1.length();
System.out.println("size = "+size); // 10
char charac = s1.charAt(0);
System.out.println("character available = "+charac); // D
String s2 = s1.substring(1,5);
System.out.println("substring1 available = "+s2); // addy
String s3 = s1.substring(1,size-1);
System.out.println("substring2 available = "+s3); // addyMomm
String s5 = s1.substring(1);
System.out.println("substring4 available = "+s5); // addyMommy
String s6 = s1.substring(5);
System.out.println("substring5 available = "+s6); // Mommy
String s7 = s1.substring(0);
System.out.println("substring3 available = "+s7); // DaddyMommy
String s8 = s1.substring(9);
System.out.println("substring3 available = "+s8); // y
String s4 = s1.substring(9,2);
System.out.println("substring3 available = "+s4);
// java.lang.StringIndexOutOfBoundsException: String index out of range: -7
tq Opex
Delete