Recursion
Recursion
import java.util.Scanner;
int z = 0;
int x, y;
menu();
System.out.print("Select
System. .print("Select an operation: ");
z = input.nextInt();
.nextInt();
while (z >= 1 && z <= 15) {
switch (z) {
case 1:
System.out.print("Enter
System. .print("Enter two numbers: ");
x = input.nextInt();
.nextInt();
y = input.nextInt();
.nextInt();
System.out.println(x
System. .println(x + " + " + y + " = " + add(
(x, y)
));
break;
case 2:
System.out.print("Enter
System. .print("Enter two numbers: ");
x = input.nextInt();
.nextInt();
y = input.nextInt();
.nextInt();
System.out.println(x
System. .println(x + " - " + y + " = " + sub(x, y));
break;
case 3:
System.out.print("Enter
System. .print("Enter two numbers: ");
x = input.nextInt();
.nextInt();
y = input.nextInt();
.nextInt();
System.out.println(x
System. .println(x + " x " + y + " = " + prod(x, y));
break;
case 4:
System.out.print("Enter
System. .print("Enter two numbers: ");
x = input.nextInt();
.nextInt();
y = input.nextInt();
.nextInt();
System.out.println(x
System. .println(x + " / " + y + " = " + div(x,
, y));
break;
case 5:
System.out.print("Enter
System. .print("Enter two numbers: ");
x = input.nextInt();
.nextInt();
y = input.nextInt();
.nextInt();
System.out.println("The
System. .println("The base " + x + " to the power of " + y + " is: " + pow(x,
, y));
break;
case 6:
System.out.print("Enter
System. .print("Enter an integer number: ");
int f = input.nextInt();
.nextInt();
System.out.println("Fib("
System. .println("Fib(" + f + ") " + "= " + fib(f
f));
break;
case 7:
System.out.print("Enter
System. .print("Enter an integer number: ");
int s = input.nextInt();
.nextInt();
System.out.println("Sum("
System. .println("Sum(" + s + ") " + "= " + sum(s));
break;
case 8:
String str;
Scanner read = new Scanner(System.
Scanner(System.in);
System.out.println("Enter
System. .println("Enter a string: ");
str = read.nextLine();
System.out.println("original:
System. .println("original: " + str + "\nreversed:
" reversed: " + reverseString(str))
);
break;
case 9:
System.out.println("Enter
System. .println("Enter a number: ");
int num = input.nextInt();
.nextInt();
System.out.println("Sum
System. .println("Sum of digits = " + digitSum(
(num))
);
break;
case 10:
System.out.println("Enter
System. .println("Enter a string: ");
String string = input.next();
if (isPalindrome(string))
(string)) {
System.out.println(string
System. .println(string + " is a Palindrom");
} else {
System.out.println(string
System. .println(string + " is not a Palindrom");
}
break;
case 11:
System.out.println("Enter
System. .println("Enter a number: ");
x = input.nextInt();
.nextInt();
System.out.println("factorial
System. .println("factorial = " + factorial(x)
));
break;
case 12:
System.out.println("Enter
System. .println("Enter numbers separated by /: ");
String arr = input.
.next(
();
case 13:
System.out.println("Enter
System. .println("Enter a String: ");
String strr = input.next
t();
System.out.println("The
System. .println("The length of " + "(" + strr + ")" + " is: " + countString(strr));
break;
case 14:
System.out.println("Enter
System. .println("Enter a number: ");
int number2 = input.nextInt();
.nextInt();
System.out.println("Reversing
System. .println("Reversing Number: " + reverseNum(number2));
(number2));
break;
case 15:
System.out.println("Enter
System. .println("Enter a number to check if it is Palindrome: ");
x = input.nextInt();
.nextInt();
System.out.println("it
System. .println("it is " + numIsPalindrom(x));
break;
case 16:
System.out.println("Thank
System. .println("Thank you for using the Advanced Calculator. See you soon :)");
System.exit(0
System. 0);
menu(
();
System.out.print("Select
System. .print("Select an operation: ");
z = input.nextInt();
.nextInt();
}
}
}
// recursive case
return divide(x
(x - y, y, z + 1);
}
// or
/*
if ((s == null ) || (s.length() <= 1)){
System.out.println(s);
} else{
System.out.println(s.charAt(s.length() -1));
reverseString(s.substring(0 , s.length() -1)) ; */
}
/* or
if (index < 0 || index >= arr.length) {
return 0;
}
return arr[index] + sumArray(arr, index + 1); */
}
// Recursively reverse the remaining digits and concatenate the last digit
return Integer.parseInt(Integer.toString(lastDigit)
(lastDigit)
+ Integer.toString(reverseNum(remainingDigits)));
Integer. (remainingDigits)));
/* or
if (number < 10) {
return number;
}
return Integer.parseInt(Integer.toString(number % 10) +
Integer.toString(reverseNum(number / 10))); */
}