Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java로 정수의 자릿수 개수 세기: 초보자를 위한 완벽 가이드

이 글에서는 Java를 사용하여 정수의 자릿수를 계산하는 방법을 알아봅니다. 정수의 자릿수는 반복문과 카운터 변수를 활용하면 간단하게 셀 수 있습니다.

아래는 실제 동작 예시입니다.

입력

숫자 : 15161718

출력

결과 : 8

알고리즘

Step 1 - 시작
Step 2 – 정수형 변수 두 개(my_count와 my_input)를 선언합니다.
Step 3 - 사용자로부터 값을 입력받거나 값을 직접 정의합니다.
Step 4 – for 반복문을 사용하여 입력값을 10으로 나누어 더 이상 나눌 수 없을 때까지 반복하고, 반복할 때마다 카운터 값을 1씩 증가시킵니다.
Step 5 - 카운터 값을 결과로 출력합니다.
Step 6 - 종료

예제 1: 사용자 입력으로 자릿수 세기

이 예제에서는 Scanner 클래스를 통해 사용자가 직접 숫자를 입력하면, 해당 숫자의 자릿수를 계산하여 화면에 출력합니다.

import java.util.Scanner;
public class Main {
   public static void main(String[] args) {
      int my_count , my_input;
      my_count = 0;
      System.out.println("필요한 패키지가 임포트되었습니다");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("리더 객체가 생성되었습니다");
      System.out.print("숫자를 입력하세요 : ");
      my_input = my_scanner.nextInt();
      for (; my_input != 0; my_input /= 10, ++my_count) {
      }
      System.out.println("입력한 숫자의 자릿수는 : " + my_count);
   }
}

출력

필요한 패키지가 임포트되었습니다
리더 객체가 생성되었습니다
숫자를 입력하세요 : 15161718
입력한 숫자의 자릿수는 : 8

예제 2: 미리 정의된 값으로 자릿수 세기

이 예제에서는 정수 값이 코드 내에 미리 정의되어 있으며, 해당 값을 콘솔에 출력하고 자릿수를 계산합니다.

public class Main {
   public static void main(String[] args) {
      int my_count = 0, my_input;
      my_count = 0;
      my_input = 15161718;
      System.out.println("정의된 숫자는 " + my_input);
      for (; my_input != 0; my_input /= 10, ++my_count) {
      }
      System.out.println("입력한 숫자의 자릿수는 : " + my_count);
   }
}

출력

정의된 숫자는 15161718
입력한 숫자의 자릿수는 : 8

동작 원리 설명

이 프로그램의 핵심 로직은 for 반복문에 있습니다. my_input /= 10은 입력값을 10으로 나눈 몫을 다시 저장하는 연산으로, 한 번 실행될 때마다 마지막 자릿수가 하나씩 제거됩니다. 예를 들어 15161718 → 1516171 → 151617 → ... 과 같이 줄어들다가 결국 0이 되면 반복문이 종료됩니다. 이때 카운터인 my_count가 몇 번 증가했는지가 곧 자릿수가 됩니다.

참고로 이 방법 외에도 String.valueOf(my_input).length()처럼 문자열로 변환해 길이를 구하는 방법이나, Math.log10()을 활용한 수학적 접근 방식도 있습니다. 다만 반복문을 사용하는 방식이 알고리즘 학습에는 가장 적합합니다.