Java에서 Int 숫자의 개별 자릿수를 얻는 방법

Rupam Yadav 2023년10월12일
  1. 주어진 정수의 나머지를 얻기위한%(mod)
  2. 문자 배열을 얻기위한String.toCharArray()
  3. number.split("(?<=.)")문자열 배열을 가져온 다음 분할하는 방법
  4. 재귀를 사용하여 정수에서 숫자 분리
Java에서 Int 숫자의 개별 자릿수를 얻는 방법

Java는 정수로 작업 할 수있는 많은 메소드를 제공합니다. 정수에서 모든 숫자를 추출하고 분리하는 방법을 살펴 보겠습니다.

주어진 정수의 나머지를 얻기위한%(mod)

나머지 방법을 사용하여 정수의 모든 단일 자릿수를 얻을 수 있습니다. Java에서는%(mod) 연산자를 사용하여 정수의 나머지를 얻을 수 있습니다.

그러나 나머지를 얻는 것만으로도 역순으로 결과를 얻을 수 있습니다. 이것이 우리가 LinkedList스택을 사용하는 이유입니다. 모든 알림을 푸시 한 다음 하나씩 팝업하여 원하는 결과를 제공합니다.

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

출력:

1
2
2
2
3

문자 배열을 얻기위한String.toCharArray()

정수와 숫자를 구분하는 또 다른 방법은toCharArray()메서드를 사용하는 것입니다.

정수를 문자열로 변환 한 다음 문자열의toCharArray()를 사용하여 문자 배열을 가져옵니다. 이제 모든 문자를 하나씩 인쇄 할 수 있습니다. 나중에 문자를 다시 정수 형식으로 변환 할 수 있습니다.

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

출력:

1
2
2
2
3

number.split("(?<=.)")문자열 배열을 가져온 다음 분할하는 방법

이 방법은 위의 방법과 비슷하지만 여기서는String의 함수 인split을 사용합니다.

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

출력:

1
2
2
2
3

재귀를 사용하여 정수에서 숫자 분리

재귀 기술을 사용하여보다 간단한 방법으로 int에서 숫자를 가져올 수 있습니다.

recursion()메소드는 숫자를 인수로 취한 다음 숫자를 10으로 나누어 자신을 호출합니다. 메소드가 호출되는 횟수입니다.

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

출력:

1
2
2
2
3
작가: 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

관련 문장 - Java Int