Heim >Java >javaLernprogramm >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.
Geben Sie als Zahl 18 ein
Lassen Sie es uns anhand der Logik der Harshad-Zahl −
überprüfenDie Summe der Ziffern der Zahl = 1 + 8 = 9.
Also ist 18 durch 9 teilbar.
Daher ist 18 eine Harshad-Zahl.
Die Übersetzung vonDie eingegebene Zahl ist 3
Lassen Sie es uns anhand der Logik der Harshad-Zahl −
überprüfenDie Summe der Ziffern der Zahl = 3.
Also ist 3 durch 3 teilbar.
Daher ist 3 die Harshad-Zahl.
Die chinesische Übersetzung vonGeben Sie als Zahl 15 ein
Lassen Sie es uns anhand der Logik der Harshad-Zahl −
überprüfenDie 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.
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.
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
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.
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.
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.
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"); } }
Given number: 21 21 is a Harshad number
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.
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"); } }
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!