Hello guys, welcome to Lingarajtechhub.com. Today we are going to discuss find the factorial of a number using recursion in java
package com.recursion.java; import java.util.Scanner; public class Factorial_no { public static void main(String args[ ] ) Int n,fact=1; Scanner Sc=new Scanner(System.in); System.out.println("enter n"); n=Sc.nextInt( ); while(n>=1) { fact=fact*n; n=n-1; } System.out.println("factorial no:"+fact); } }
Line-2:
❖ Package com.recursion.java;
It is a java package( com.recursion.java) which is a collection of classes and this package is created in a java project .
Line-3:
❖ import java.util.Scanner;
Scanner is a class in java. util package used for obtaining the input of the primitive types like int, double, etc. and strings .
Line-5:
❖ public class Factorial_no
*Here factorial_no is defined as a class which is a template used to create objects and to define object data types and methods . >–and it’s defined as public because it can be accessed anywhere .
Line-6:
❖ public static void main(String[] args)
>>– it is a main method in which we can execute a program //public :it is an access modifier of the main function which must be public so that the JVM which is (Java Virtual Machine)can access and execute this method.
//If a method is not public, then access is restricted and its showing error //static is a keyword in which main method has must to be static in which JVM can load the class into memory and call the main method without creating an instance
//void it means no return type
//main() is function string[]args : string means collection of characters ,String[] args represents a collection of Strings that are separated by a space and can be typed into the program on the terminal directly
Line-7:
❖ int n,fact=1;
>>– here we declare n as a variable which is integer type,and fact=1 means
Consider factorial no equal to 1
Line-8:
❖ Scanner sc=new Scanner(System.in);
>>–it means here scanner is a class and Sc is the instance of the object which is new Scanner.System.in is an argument
Line-9:
❖ System.out.println(“Enter the value of n “);
>>– it means System is a class name and out is an instance of the System println is print a new line .
Line-10:
- n=sc.nextInt();
>>– here n is a variable that we take and Sc is our instance name which is created for an object and nextInt() is a method method of a Scanner object that reads in a string of digits or char and converts them into an int type.
Line-11:
- while(n>=1)
>>while means we are using a while loop and then(n>=1) means the value of n is greater or equal to 1.
Line-13:
- fact=fact*n;
n=n-1;
>>fact=fact*n ; it is the logic to find out the factorial of a given number.
>>n=n-1; the value of n is always less than 1.
Line-16:
❖ System.out.println(“factorial no:”+fact);
>>– it means System is a class name and out is an instance of the System println is print a new line .
>>– +fact it means it is a concardinate or comma operator.