Wie erhält man die einzelnen Ziffern einer Int-Nummer in Java

Rupam Yadav 12 Oktober 2023
  1. % (mod), um den Rest der gegebenen Ganzzahl zu erhalten
  2. String.toCharArray() zum Abrufen des Zeichenarrays
  3. number.split("(?<=.)") Methode, um das String-Array zu erhalten und sie dann zu teilen
  4. Trennen von Ziffern aus einem Int mittels Rekursion
Wie erhält man die einzelnen Ziffern einer Int-Nummer in Java

Java bietet eine Vielzahl von Methoden zur Arbeit mit ganzen Zahlen. Wir werden sehen, wie wir jede einzelne Ziffer aus einer int Zahl extrahieren und trennen können.

% (mod), um den Rest der gegebenen Ganzzahl zu erhalten

Wir können jede einzelne Ziffer einer ganzen Zahl erhalten, indem wir die Restmethode verwenden. Java erlaubt es uns, den Rest einer beliebigen Ganzzahl mit dem % (mod) Operator zu erhalten.

Aber wenn wir nur den Rest erhalten, erhalten wir das Ergebnis in umgekehrter Reihenfolge. Deshalb werden wir einen LinkedList-Stapel verwenden. In diesem Stack werden wir jede einzelne Erinnerung schieben und dann eine nach der anderen aufspringen lassen, was uns das gewünschte Ergebnis liefert.

import java.util.LinkedList;

public class Main {
  public static void main(String[] args) {
    int number = 12223;

    LinkedList<Integer> stack = new LinkedList<Integer>();
    while (number > 0) {
      stack.push(number % 10);
      number = number / 10;
    }
    while ((!stack.isEmpty())) {
      System.out.println(stack.pop());
    }
  }
}

Ausgabe:

1
2
2
2
3

String.toCharArray() zum Abrufen des Zeichenarrays

Eine andere Möglichkeit, die Ziffern von einer int Zahl zu trennen, ist die Verwendung der toCharArray() Methode.

Wir werden die Integer-Zahl in eine Zeichenkette umwandeln und dann das toCharArray() der Zeichenkette verwenden, um das Array der Zeichen zu erhalten. Jetzt können wir alle Zeichen nacheinander ausdrucken. Später können wir die Zeichen wieder in das Integer-Format konvertieren.

public class Main {
  public static void main(String[] args) {
    int number1 = 12223;

    String number = String.valueOf(number1);

    char[] digits1 = number.toCharArray();

    for (int i = 0; i < digits1.length; i++) {
      System.out.println(digits1[i]);
    }
  }
}

Ausgabe:

1
2
2
2
3

number.split("(?<=.)") Methode, um das String-Array zu erhalten und sie dann zu teilen

Diese Methode ist der obigen ähnlich, aber hier verwenden wir split, eine Funktion von String.

public class Main {
  public static void main(String[] args) {
    int number1 = 12223;

    String number = String.valueOf(number1);

    String[] digits = number.split("(?<=.)");

    for (int i = 0; i < digits.length; i++) {
      System.out.println(digits[i]);
    }
  }
}

Ausgabe:

1
2
2
2
3

Trennen von Ziffern aus einem Int mittels Rekursion

Wir können die Rekursionstechnik verwenden, um die Ziffern auf einfachere Weise aus einem int herauszubekommen.

Die recursion() Methode nimmt die Zahl als Argument und ruft sich dann selbst auf, indem sie die Zahl durch 10 teilt. Das ist die Anzahl der Aufrufe der Methode.

public class Main {
  public static void main(String[] args) {
    recursion(12223);
  }

  public static void recursion(int number) {
    if (number > 0) {
      recursion(number / 10);
      System.out.printf(number % 10);
    }
  }
}

Ausgabe:

1
2
2
2
3
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java Int