Java >> Java tutorial >  >> Tag >> String

Java-program til at finde summen af ​​cifre i en streng

I dette indlæg vil vi udvikle et Java-program til at finde summen af ​​cifre i en streng. Strengen kan indeholde et hvilket som helst tegn, vi skal finde tegnene som er alfabeter og derefter beregne deres sumværdi.

Fremgangsmåde for at finde summen af ​​cifre i en streng Java,

1) Tag en streng.
2) Deklarer variabler for at gemme sumværdien, tegnværdien, numeriske værdier for tegnet.
3) Hent tegnet. For at hente tegnet kan vi bruge metoden charAt() fra String-klassen. Prototypen af ​​charAt()-metoden er:-
public char charAt(int index)

4) Tjek nu, om tegnet er et ciffer eller ej? Vi kan kontrollere det manuelt ved at bruge ASCII-værdien fra 0 til 9, eller vi kan bruge isDigit() metode for Character-klassen.

Der er to overbelastningsformer af isDigit() metode. Prototypen af ​​isDigit()-metoden af ​​Character-klassen er:-

  • public static boolean isDigit(char ch)
  • public static boolean isDigit(int codePoint)

5) Hvis det hentede tegn ikke er et ciffer, så gå til næste trin, ellers konverter tegnet til cifferet. Til dette formål kan vi bruge getNumericValue() metode i Character-klassen. Det returnerer int-værdien af ​​det givne tegn.

6) Tilføj den numeriske værdi til sumvariablen
7) Gentag de 3 til 6 trin indtil slutningen af ​​strengen. For at finde længden af ​​strengen, brug length() metoden i String-klassen.

Java-program til at finde summen af ​​cifre i en streng

import java.util.Scanner;

public class SumOfDigitsInString {

  private static int sumOfdigits(String number) {
     // variable to store sum of digits
     int sum = 0;

     // variable to hold character
     char ch ;

     // variable to hold numeric value of ch
     int n;

     // loop to iterate the String
     for(int i=0; i<number.length(); i++) {

         // find character
         ch = number.charAt(i);

         // check character is digit?
         if(Character.isDigit(ch)) {

             // find numeric value of character
             n = Character. getNumericValue(ch);

             // then add it to sum variable
             sum += n;
          }
      }

      // return sum value
      return sum;
  }

  public static void main(String[] args) {

      // declare variables
      String str = null;
      int sum = 0;

      // create Scanner class object 
      // for reading the values
      Scanner scan =  new Scanner(System.in);

      // read inputs
      System.out.print("Enter String:: ");
      str = scan.next();

      // find sum of digits in the String
      sum = sumOfdigits(str);

      // display result
      System.out.println("The sum of "
           +" digits in the string "+str
           +" = "+ sum);

      // close Scanner class object
      scan.close();
   }
}

Output for de forskellige test-cases:-

Indtast streng::12345
Summen af ​​cifre i strengen 12345 =15

Indtast streng::09851
Summen af ​​cifre i strengen 09851 =23

Indtast streng::hello2021
Summen af ​​cifre i strengen hello2021 =5

Indtast streng::[email protected]
Summen af ​​cifre i strengen [email protected] =28

Lignende eksempler på Java-programmering

  • Det største af tre tal i Java
  • Skipårsprogram i Java
  • Krishnamurthy-nummer

Java tag