728x90
1. 개념이해
주어진 수에 대해, 근사값을 구하는 것
2. 사용한 공식 및 메서드
//바빌로니아 점화식
//여기서 임의의실수는 나중에 제곱근이 되기위해 반복으로 구해질 근사값이다
임의의실수= (임의의실수 + 제곱값/임의의실수)/2;
//숫자형 반올림 메서드 (소수점 2번째 반올림)
Math.round(값*100)/100;
//변수를 대입한 문자열 반환 메서드
String.format("%.2f", 변수);
3. 코드식 (메서드)
1) i : 임의의 정수(int), o : 문자열(String)일 때, 소수점 2번째 자리까지 구하기
public String computeSquareRoot(int num) {
double xn = 1.0; // a
for (int i=0 ; i < 1000 ; i++) { // b
xn= (xn + num/xn)/2; // c
}
double result = (double)Math.round(xn*100)/100; // d
return String.format("%.2f", result); // e
}
a) 초기값은 임의의 수로 지정(제일 작은 정수인 1로 지정했다). Java의 경우, 실수형의 default값이 double이기 때문에
반복문의 계산중 오류를 방지하기위해 처음부터 double로 선언해줬다.
b) 반복해서 근사값을 구한다. 정밀도는 i를 반복하는 횟수다. 필자는 1000까지 했다
c) 바빌로니아 점화식을 코드로 변환한 모습이다
d) 실수형 결과값은 double로 나타냈으며, Math.round(바꿀값)으로 반올림을 한다.
이때, round()메서드의 경우, 정수부분 1의자리까지 반올림 하므로, 소수점 2째자리까지 반올림한 값을 구하기 위해선,
100을 곱한 값을 반올림 후 100을 나눠준 것이다.
e) 실수형을 문자열로 변환해주는 것. String.format은 문자열 사이사이에 변수를 대입해서 문자열로 변환해준다.
이때, 실수형은 무조건 f를 사용. 소수점 표시는 %.소수점자리수f 이다
728x90
'Java & Spring > 옵션정리' 카테고리의 다른 글
[Spring] 롬복(Lombok) / SLF4J (0) | 2022.08.17 |
---|---|
[JAVA] 정규표현식 (Regular Expression / regex) (0) | 2022.08.15 |
[관계형DB] 스키마 / ERD / MySQL (0) | 2022.08.07 |
[네트워크] API (진행중) (0) | 2022.08.04 |
[네트워크] 쿠키 / 세션 / 캐시 (0) | 2022.08.03 |