Ottieni le cifre separate di un numero Int in Java

Rupam Yadav 12 ottobre 2023
  1. % (mod) per ottenere il resto del numero intero fornito
  2. String.toCharArray() per ottenere la matrice di caratteri
  3. Metodo number.split("(?<=.)") per ottenere la matrice di stringhe e quindi dividerla
  4. Separare le cifre da un Int utilizzando la ricorsione
Ottieni le cifre separate di un numero Int in Java

Java offre molti metodi per lavorare con i numeri interi. Vedremo come estrarre e separare ogni singola cifra da un numero int.

% (mod) per ottenere il resto del numero intero fornito

Possiamo ottenere ogni singola cifra di un numero intero utilizzando il metodo del resto. Java ci permette di ottenere il resto di qualsiasi numero intero utilizzando l’operatore % (mod).

Ma semplicemente ottenere il resto ci darà il risultato nell’ordine inverso. È per questo che useremo uno stack LinkedList. In cui spingeremo ogni singolo promemoria e poi pop uno per uno, fornendoci il risultato desiderato.

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

Produzione:

1
2
2
2
3

String.toCharArray() per ottenere la matrice di caratteri

Un altro modo per separare le cifre da un numero int è usare il metodo toCharArray().

Convertiremo il numero intero in una stringa e poi useremo la stringa toCharArray() per ottenere l’array dei caratteri. Ora possiamo stampare tutti i caratteri uno per uno. Successivamente possiamo riconvertire i caratteri nel formato intero.

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

Produzione:

1
2
2
2
3

Metodo number.split("(?<=.)") per ottenere la matrice di stringhe e quindi dividerla

Questo metodo è simile a quello precedente, ma qui stiamo usando split, una funzione di 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]);
    }
  }
}

Produzione:

1
2
2
2
3

Separare le cifre da un Int utilizzando la ricorsione

Possiamo usare la tecnica della ricorsione per ottenere le cifre da un int in modo più diretto.

Il metodo recursion() prende il numero come argomento e poi chiama se stesso dividendo il numero per 10. È il numero di volte che il metodo verrà chiamato.

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

Produzione:

1
2
2
2
3
Autore: Rupam Yadav
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

Articolo correlato - Java Int