Heim >Java >javaLernprogramm >Wie überprüfe ich, ob eine Zahl in Java eine Harshad-Zahl ist?

Wie überprüfe ich, ob eine Zahl in Java eine Harshad-Zahl ist?

王林
王林nach vorne
2023-09-24 21:01:081149Durchsuche

Wie überprüfe ich, ob eine Zahl in Java eine Harshad-Zahl ist?

Harshad-Zahl ist durch die Summe ihrer Ziffern teilbar. Einfach ausgedrückt: Wenn die Summe aller Ziffern einer Zahl ein Faktor dieser Zahl ist, dann handelt es sich um eine Harshad-Zahl.

In diesem Artikel erfahren Sie, wie Sie die Harshad-Nummer mithilfe der Programmiersprache Java überprüfen.

Zeigen Sie einige Beispiele

Beispiel 1

Geben Sie als Zahl 18 ein

Lassen Sie es uns anhand der Logik der Harshad-Zahl −

überprüfen

Die Summe der Ziffern der Zahl = 1 + 8 = 9.

Also ist 18 durch 9 teilbar.

Daher ist 18 eine Harshad-Zahl.

Die Übersetzung von

Instance-2

lautet:

Instance-2

Die eingegebene Zahl ist 3

Lassen Sie es uns anhand der Logik der Harshad-Zahl −

überprüfen

Die Summe der Ziffern der Zahl = 3.

Also ist 3 durch 3 teilbar.

Daher ist 3 die Harshad-Zahl.

Die chinesische Übersetzung von

Instance-3

lautet:

Instance-3

Geben Sie als Zahl 15 ein

Lassen Sie es uns anhand der Logik der Harshad-Zahl −

überprüfen

Die Summe der Ziffern der Zahl = 1 + 5 = 6.

15 ist also nicht durch 6 teilbar.

Daher ist 14 keine Harshad-Zahl.

Einige andere Beispiele für Harshad-Zahlen sind 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 18, 20 usw.

Grammatik

Konvertieren Sie einen ganzzahligen Wert mit der integrierten Methode toString() in einen String-Wert.

Hier ist die Syntax, um einen ganzzahligen Wert in einen Zeichenfolgenwert umzuwandeln und dann seine Länge zu ermitteln und die Länge einer ganzzahligen Variablen zuzuweisen, um die Gesamtzahl der Ziffern in einer Zahl zu erhalten -

String str = Integer.toString(input_number);

Um die Länge einer Ganzzahl zu ermitteln, verwenden wir die integrierte Methode length() der Java-String-Klasse Die Methode gibt die Länge des String-Objekts zurück.

int length = st.length();

Um das Zeichen an einer bestimmten Position/Index in einer Zeichenfolge abzurufen, verwenden wir die Methode charAt() . wobei charAt(i)-‘0’ den tatsächlichen ganzzahligen Wert zurückgibt.

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

Wobei sich „st“ auf die Zeichenfolge bezieht und „i“ die Iteratorvariable ist, die über die Zeichenfolge iteriert.

Algorithmus

Algorithmus 1

  • Schritt 1 – Erhalten Sie eine Ganzzahl per Initialisierung oder Benutzereingabe.

  • Schritt 2 – Ermitteln Sie die Summe jeder Ziffer der Zahl, indem Sie jede Ziffer der Zahl durchlaufen.

  • Schritt 3 – Überprüfen Sie dann, ob die ursprüngliche Zahl durch die Summe aller Ziffern der Zahl teilbar ist. Die angegebene Zahl ist eine Harshad-Zahl, wenn sie teilbar ist, andernfalls ist sie keine Harshad-Zahl

Algorithmus 2

  • Schritt 1 – Erhalten Sie eine Ganzzahl per Initialisierung oder Benutzereingabe.

  • Schritt 2 – Konvertieren Sie die Ganzzahl mit der integrierten Methode toString() in einen String.

  • Schritt 3 – Ermitteln Sie die Länge der Zeichenfolge mithilfe der integrierten Methode length().

  • Schritt 4 – Dann iterieren Sie mit einer for-Schleife bis zur Länge der Zeichenfolge und erhalten Sie mit charAt(i)-' einen ganzzahligen Wert 0' aus der Zeichenfolge und zeichnen Sie die Summe aller Zahlen auf.

  • Schritt 5 – Überprüfen Sie dann, ob die ursprüngliche Zahl durch die Summe aller Ziffern dieser Zahl teilbar ist. Die angegebene Zahl ist eine Harshad-Zahl, wenn sie teilbar ist, andernfalls ist sie keine Harshad-Zahl.

Mehrere Methoden

Wir bieten Lösungen auf unterschiedliche Weise an

  • Verwenden Sie keine Schnüre

  • Durch die Verwendung von Strings

Schauen wir uns das Programm und seine Ausgabe einzeln an.

Methode 1: Ohne Verwendung von Strings

Bei dieser Methode wird ein ganzzahliger Wert im Programm initialisiert und dann können wir mithilfe von Algorithmus-1 prüfen, ob eine Zahl eine Harshad-Zahl ist.

Beispiel

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

Ausgabe

Given number: 21
21 is a Harshad number

Methode 2: Strings verwenden

Bei dieser Methode wird ein ganzzahliger Wert im Programm initialisiert und dann prüfen wir mit Algorithmus-2, ob die Zahl eine Harshad-Zahl ist oder nicht.

Beispiel

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

Ausgabe

Given number: 40
40 is a Harshad number

In diesem Artikel haben wir untersucht, wie man mit verschiedenen Methoden überprüft, ob eine Zahl in Java eine Harshad-Zahl ist.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob eine Zahl in Java eine Harshad-Zahl ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:letzte Variable in JavaNächster Artikel:letzte Variable in Java