Soy's Devlog

입력된 정수의 자릿수 구하기 본문

Dev/Java

입력된 정수의 자릿수 구하기

소이리 2022. 1. 30. 23:35

자바 프로그램에서 값을 입력 후 해당 입력값의 자릿수를 구하는 방법에 대해 정리해 보았다.

 

String(문자열) 의 경우 length() 메소드를 통해 모든문자에 대한 자릿수를 편하게 구할 수 있다.

 

하지만 int형은 length() 메소드를 제공하지 않는다..!

방법은 코드를 짜기에 따라 여러가지 이지만, 직접 이해하고 적용해본 내용은 아래와 같다.

 


1. 배열 사이즈

ArrayList로 가변적 배열 객체를 생성해 주고 입력값이 0보다 큰 양의 정수라면, 입력값을 10으로 나눈 나머지를 배열에 추가해 준다.

그 뒤 입력값을 10으로 다시 나눈 몫을 입력값에 대입하여 초기화 해 주고 이 과정을 반복한다.

반복이 종료되면, 배열의 크기를 확인하는 메소드를 통해 출력해 준다.

 

예) 452 를 입력했다면 배열에 담기게 되는 모습은 [2,5,4] 이다. 

 

2. Math 클래스의 log함수

Math클래스에서 제공하는 함수이며 상용로그함수 라고도 한다.

log10의 0승 = 1

log10의 1승 = 10 = 1.0

log10의 2승 = 100 = 2.0

log10의 3승 = 1000 = 3.0

 

참고로 자바에서 log함수의 반환형은 double이다. 만약 767이라는 값이 입력되면 2.xx 승이 나올 것이다.

이 값에 1을 더해주고 int형으로 형변환 하여 소수점아래를 모두 제외하여 출력해 주는 방법이다.

 

자바에 이런 함수가 있는지 몰랐는데 활용하면 재밌는 함수인 것 같다!😊

'Dev > Java' 카테고리의 다른 글

Formatter - 지정된 형식으로 출력하기  (0) 2022.01.31
Comments