Java >> Tutoriel Java >  >> Tag >> String

Programme Java pour trouver la somme des chiffres dans une chaîne

Dans cet article, nous allons développer un programme Java pour trouver la somme de chiffres dans une chaîne. La chaîne peut contenir n'importe quel caractère, nous devons trouver les caractères qui sont des alphabets, puis calculer leur valeur somme.

Procédure pour trouver la somme de chiffres dans une chaîne Java,

1) Prenez une chaîne.
2) Déclarez des variables pour stocker la valeur somme, la valeur du caractère, les valeurs numériques du caractère.
3) Récupérez le caractère. Pour récupérer le caractère, nous pouvons utiliser la méthode charAt() de la classe String. Le prototype de la méthode charAt() est :-
public char charAt(int index)

4) Maintenant, vérifiez que le caractère est un chiffre ou non ? Nous pouvons le vérifier manuellement en utilisant la valeur ASCII de 0 à 9, ou nous pouvons utiliser isDigit() méthode de la classe Caractère.

Il existe deux formes de surcharge du isDigit() méthode. Le prototype de la méthode isDigit() de la classe Character est :-

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

5) Si le caractère récupéré n'est pas un chiffre, passez à l'étape suivante, sinon convertissez le caractère en chiffre. Pour cela, nous pouvons utiliser getNumericValue() méthode de la classe Character. Il renvoie la valeur int du caractère donné.

6) Ajoutez la valeur numérique dans la variable somme
7) Répétez les étapes 3 à 6 jusqu'à la fin de la chaîne. Pour trouver la longueur de la chaîne, utilisez la méthode length() de la classe String.

Programme Java pour trouver la somme des chiffres dans une chaîne

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();
   }
}

La sortie pour les différents cas de test :-

Entrez la chaîne ::12345
La somme des chiffres de la chaîne 12345 =15

Entrez la chaîne ::09851
La somme des chiffres de la chaîne 09851 =23

Entrez la chaîne ::hello2021
La somme des chiffres de la chaîne hello2021 =5

Entrez la chaîne ::[email protected]
La somme des chiffres dans la chaîne [email protected] =28

Exemples de programmation Java similaires

  • Le plus grand des trois nombres en Java
  • Programme d'année bissextile en Java
  • Numéro de Krishnamurthy

Balise Java