Java >> Java tutorial >  >> Java

Java-program til at finde summen af ​​cifre i et tal ved hjælp af rekursion

I denne øvelse lærer vi, hvordan man finder summen af ​​alle cifre i et tal ved hjælp af rekursion. En rekursiv funktion er en funktion, der kalder sig selv gentagne gange. Her vil vi først bede brugeren om at initialisere tallet og derefter finde alle cifrene og beregne deres sum ved at kalde funktionen rekursivt. Men før du går videre, hvis du ikke er bekendt med begrebet loops i java, så tjek artiklen om Loops i Java.

Input: Indtast nummeret:564

Output: Summen af ​​alle cifre er:15

Lad os se på eksemplerne for at forstå, hvordan man finder summen af ​​cifrene ved hjælp af rekursion.

Program 1:Java-program Sum af cifre i et tal

I eksemplet nedenfor vil vi se, hvordan man finder summen af ​​cifre i et tal ved hjælp af rekursion.

Algorithme:

  1. Start
  2. Opret en forekomst af Scanner-klassen.
  3. Deklarer en variabel for at gemme nummeret.
  4. Bed brugeren om at initialisere variablen.
  5. Deklarer en brugerdefineret funktion til at beregne summen af ​​cifre i tallet ved hjælp af rekursion.
  6. Kald funktionen rekursivt for at beregne summen af ​​cifre.
  7. Vis summen af ​​cifre.
  8. Stop.

Nedenstående eksempel illustrerer implementeringen af ​​ovenstående algoritme.

//Java Program to find the sum of digits using recursion
import java.util.*;
  
public class Main 
{
    public static int sum_of_digit(int num)
    { 
        if (num == 0)
            return 0;
        return (num % 10 + sum_of_digit(num / 10));
    }
    // Driver Program
    public static void main(String args[])
    {
        //Take input from the user
        //Create an instance of the Scanner Class
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the number: ");
        int num=sc.nextInt();
        int res=sum_of_digit(num);
        System.out.println("The sum of digits is: "+res);
    }
}


Indtast et tal 854
Summen af ​​cifre i tallet er 17

Program 2:Java-program Sum af cifre i et tal

I eksemplet nedenfor vil vi se, hvordan man finder summen af ​​cifre i et tal ved hjælp af rekursion.

Algorithme:

  1. Start
  2. Opret en forekomst af Scanner-klassen.
  3. Deklarer en variabel for at gemme nummeret.
  4. Bed brugeren om at initialisere variablen.
  5. Deklarer en brugerdefineret funktion til at beregne summen af ​​cifre i tallet ved hjælp af rekursion.
  6. Kald funktionen rekursivt for at beregne summen af ​​cifre.
  7. Returner den beregnede sum.
  8. Udskriv resultatet.
  9. Stop.

Nedenstående eksempel illustrerer implementeringen af ​​ovenstående algoritme.

//Java Program to find the sum of digits using recursion
import java.util.*;
  
public class Main 
{
	int sum=0;
	int sumOfDigits(long num)
	{
	   if(num!=0)
	    {
	     	sum+=num%10;
	    	num/=10;
		    sumOfDigits(num);
	    }
	return sum;
	}
    //Driver code
	public static void main(String arg[])	
	{
	    long num,res;
	    Main main=new Main();
	    //Take input from the user
	    //Create an instance of the Scanner class
        Scanner sc=new Scanner(System.in);
	    System.out.println("Enter a number ");
        num=sc.nextLong();
	    System.out.println("The sum of digits of the number is "+main.sumOfDigits(num));
                   	  
	}
}


Indtast et tal 4567854
Summen af ​​cifre i tallet er 39


Java tag