Maison  >  Article  >  Java  >  Comment vérifier si un numéro est un numéro Harshad en Java ?

Comment vérifier si un numéro est un numéro Harshad en Java ?

王林
王林avant
2023-09-24 21:01:081088parcourir

Comment vérifier si un numéro est un numéro Harshad en Java ?

Le nombre Harshad est divisible par la somme de ses chiffres. En termes simples, si la somme de tous les chiffres d’un nombre est un facteur de ce nombre, alors c’est un nombre Harshad.

Dans cet article, nous verrons comment vérifier le numéro Harshad à l'aide du langage de programmation Java.

Montrez quelques exemples

Exemple 1

Entrez le numéro 18

Vérifions-le en utilisant la logique du nombre Harshad −

La somme des chiffres du nombre = 1 + 8 = 9.

Donc, 18 est divisible par 9.

Par conséquent, 18 est un nombre Harshad.

La traduction de

Instance-2

est :

Instance-2

Le numéro saisi est le 3

Vérifions-le en utilisant la logique du nombre Harshad −

La somme des chiffres du nombre = 3.

Donc, 3 est divisible par 3.

Ainsi, 3 est le nombre Harshad.

La traduction chinoise de

Instance-3

est :

Instance-3

Entrez le numéro 15

Vérifions-le en utilisant la logique du nombre Harshad −

La somme des chiffres du nombre = 1 + 5 = 6.

Donc, 15 n'est pas divisible par 6.

Par conséquent, 14 n’est pas un nombre Harshad.

Quelques autres exemples de nombres Harshad incluent 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 18, 20, etc.

Grammaire

Convertissez une valeur entière en valeur de chaîne à l'aide de la méthode intégrée toString().

Voici la syntaxe pour convertir une valeur entière en valeur de chaîne, puis trouver sa longueur et attribuer la longueur à une variable entière pour obtenir le nombre total de chiffres dans un nombre -

String str = Integer.toString(input_number);

Pour obtenir la longueur d'un entier, nous utiliserons la méthode intégrée length() de la classe Java String La méthode renvoie la longueur de l’objet String.

int length = st.length();

Pour obtenir le caractère à une position/index spécifique dans une chaîne, nous utilisons la méthode charAt() . où charAt(i)-'0' renvoie la valeur entière réelle.

int num = st.charAt(i)-‘0’;

Où "st" fait référence à la chaîne et "i" est la variable itératrice qui parcourt la chaîne.

Algorithme

Algorithme 1

  • Étape 1 - Obtenez un entier via l'initialisation ou la saisie de l'utilisateur.

  • Étape 2 - Trouvez la somme de chaque chiffre du nombre en parcourant chaque chiffre du nombre.

  • Étape 3 - Vérifiez ensuite si le numéro d'origine est divisible par la somme de tous les chiffres du numéro. Le nombre donné est un nombre Harshad s'il est divisible, sinon ce n'est pas un nombre Harshad

Algorithme 2

  • Étape 1 - Obtenez un entier via l'initialisation ou la saisie de l'utilisateur.

  • Étape 2 - Convertissez l'entier en chaîne à l'aide de la méthode intégrée toString().

  • Étape 3 - Trouvez la longueur de la chaîne en utilisant la méthode intégrée length().

  • Étape 4 - Ensuite, en utilisant une boucle for, parcourez jusqu'à la longueur de la chaîne et utilisez charAt(i)-' pour obtenir une valeur entière 0' de la chaîne et enregistrez la somme de tous les nombres.

  • Étape 5 - Vérifiez ensuite si le numéro d'origine est divisible par la somme de tous les chiffres de ce numéro. Le nombre donné est un nombre Harshad s'il est divisible, sinon ce n'est pas un nombre Harshad.

Méthodes multiples

Nous proposons des solutions de différentes manières

  • Ne pas utiliser de ficelles

  • En utilisant des chaînes

Regardons le programme et sa sortie un par un.

Méthode 1 : Sans utiliser de chaînes

Dans cette méthode, une valeur entière sera initialisée dans le programme puis en utilisant

Algorithme-1 nous pourrons vérifier si un nombre est un nombre Harshad.

Exemple

public class Main{
   //main method
   public static void main(String args[]){

      //Declared an integer variable and initialized a number as value
      int originalNumber = 21;

      //printing the given number to be checked
      System.out.println("Given number: "+originalNumber);

      //keep a copy of original number
      int copyOfOriginalNumber = originalNumber;

      //initialize sum as 0
      int sum = 0;

      //Find sum of all digits of the number
      //continue the loop till the number is greater than 0
      while(originalNumber > 0){

         //get the rightmost digit of the number by using % operator
         int rem = originalNumber%10;

         //add the digit(rem) to sum
         sum = sum + rem;

         //remove the rightmost digit from number and get the updated number
         originalNumber = originalNumber/10;
      }

      //printing the result
      if(copyOfOriginalNumber % sum == 0)
         System.out.println(copyOfOriginalNumber+" is a Harshadnumber");
      else
         System.out.println(copyOfOriginalNumber+" is not a Harshadnumber");
   }
}

Sortie

Given number: 21
21 is a Harshad number

Méthode 2 : Utiliser des chaînes

Dans cette méthode, une valeur entière sera initialisée dans le programme puis, en utilisant l'algorithme-2, nous vérifierons si le nombre est un nombre Harshad ou non.

Exemple

public class Main{
   //main method
   public static void main(String args[]){

      //Declared an integer variable and initialized a number as value
      int originalNumber = 40;

      //printing the given number to be checked
      System.out.println("Given number: "+originalNumber);

      //keep a copy of original number
      int copyOfOriginalNumber = originalNumber;

      //initialize sum as 0
      int sum = 0;

      //convert the integer to string by using toString() method
      String str = Integer.toString(originalNumber);
       
      //find length of String by using length() method
      //which is nothing but total number of digits in the given number
      int length=str.length();
       
      //iterate the String and get the digits by using charAt(i)-'0'
      //find the sum of digits
      for(int i = 0; i < length; i++){
         sum += str.charAt(i)-'0';
      }

      //printing the result 
      if(copyOfOriginalNumber % sum == 0)
         System.out.println(copyOfOriginalNumber+" is a Harshad number");
      else
         System.out.println(copyOfOriginalNumber+" is not a Harshad number");      
   }
}

Sortie

Given number: 40
40 is a Harshad number

Dans cet article, nous avons exploré comment vérifier si un nombre est un nombre Harshad en Java en utilisant différentes méthodes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:variable finale en javaArticle suivant:variable finale en java