Soy's Devlog
입력된 정수의 자릿수 구하기 본문
자바 프로그램에서 값을 입력 후 해당 입력값의 자릿수를 구하는 방법에 대해 정리해 보았다.
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