Answer:
Written in Java
import java.util.*;
public class Main {
public static int fact(int n) {
if (n == 1)
return n;
else
return n * fact(n - 1);
}
public static void main(String[] args) {
int num;
Scanner input = new Scanner(System.in);
char tryagain = 'y';
while(tryagain == 'y'){
System.out.print("Number: ");
num = input.nextInt();
System.out.println(num+"! = "+ fact(num));
System.out.print("Try another input? y/n : ");
tryagain = input.next().charAt(0);
}
}
}
Explanation:
The static method is defines here
public static int fact(int n) {
This checks if n is 1. If yes, it returns 1
if (n == 1)
return n;
If otherwise, it returns the factorial of n, recursively
else
return n * fact(n - 1);
}
The main method starts here. Where the user can continue executing different values of n. The program keep prompting user to try again for another number until user signals for stoppage
public static void main(String[] args) {
This declares num as integer
int num;
Scanner input = new Scanner(System.in);
This initializes tryagain as y
char tryagain = 'y';
This checks if user wants to check the factorial of a number
while(tryagain == 'y'){
This prompts user for input
System.out.print("Number: ");
This gets user input
num = input.nextInt();
This passes user input to the function and also prints the result
System.out.println(num+"! = "+ fact(num));
This prompts user to try again for another value
System.out.print("Try another input? y/n : ");
This gets user response
tryagain = input.next().charAt(0);
}