Java
[Java] 자릿수 출력하기
dearbeany
2022. 8. 5. 00:34
1. 나눗셈 연산을 이용해서 구현하는 방법.
(1) num <1234>을 10으로 나눴을 때의 나머지(%)는 가장 마지막 자리인 일의 자리<4>.
(2) (1)에서 몫(/) <123>을 다시 10으로 나눴을 때의 나머지(%)는 몫<123>의 가장 마지막 자리(= 맨 처음 값의 십의 자리)<3>.
(3) (2)에서 몫(/) <12>을 다시 10으로 나눴을 때의 나머지(%)는 몫<12>의 가장 마지막 자리(= num의 백의 자리)<2>.
(4) (3)에서 몫(/) <1>을 다시 10으로 나눴을 때의 나머지(%)는 몫<1>의 가장 마지막 자리(= num의 백의 자리)<1>.
(5) (4)를 통해서 몫은 0이 되면서 종료조건을 주면 됨.
import java.util.ArrayList;
import java.util.Scanner;
public class 자릿수구하기 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<>();
int n = sc.nextInt(); // 12345
int a = 0; // 출력할 자릿수
while (n > 0) { // 몫이 0보다 클 때 루프, 즉 나눌 수 있으면
a = n % 10; // 나머지
list.add(a);
n = n / 10; // 몫
}
System.out.println(list);
}
}
2. 문자열로 변환해서 구하는 방법
int num = 5678;
String strNum = Integer.toString(num);
int[] arrNum = new int[strNum.length()];
for(int i = 0; i < strNum.length(); i++) {
arrNum[i] = strNum.charAt(i) - 48;
arrNum[i] = strNum.charAt(i) - '0';
}
System.out.println(Arrays.toString(arrNum));