Math 클래스의 메소드들을 조사하고 다음 메소드 5개에 대하여 예제 프로그램을 작성하고 결과를 보여라.
Math 클래스의 메소드들을 조사하고 다음 메소드 5개에 대하여 예제 프로그램을 작성하고 결과를 보여라.
Math.abs() , Math.sin(), Math.max(), Math.pow() , Math.random().
12-1. 메소드 조사
메소드 |
개요 |
|
ⓐ |
abs(x) |
X의 절대값을 반환 |
max(x) |
X와 Y 가운데 큰 값을 반환 |
|
min(x) |
X와 Y 가운데 작은 값을 반환 |
|
ⓑ |
acos(x) |
X의 역 코사인을 반환 |
asin(x) |
X의 역 사인을 반환 |
|
atan(x) |
X의 역 탄젠트를 반환 |
|
cbrt(x) |
X의 제곱근을 반환 |
|
ceil(x) |
X의 소수점 부분을 자리 올림한 값을 반환 |
|
cos(x) |
X의 코사인을 반환 |
|
cosh(x) |
X의 쌍곡 코사인을 반환 |
|
exp(x) |
오일러수 e를 X로 제곱한 값을 반환 |
|
floor(x) |
X의 소수점 부분을 버린 값을 반환 |
|
log(x) |
X의 자연로그 값을 반환 |
|
log10(x) |
X의 10을 밑으로 하는 로그를 반환 |
|
pow(x,y) |
X를 Y제곱한 값을 반환 |
|
random() |
0.0 이상이고 1.0보다 작은 양의 난수를
반환 |
|
rint(x) |
X에 가장 가까운 정수값을 반환 |
|
sin(x) |
X의 사인값을 반환 |
|
sinh(x) |
X의 쌍곡 사인을 반환 |
|
sqrt(x) |
X의 제곱근을 반환 |
|
tan(x) |
X의 탄젠트를 반환 |
|
tanh(x) |
X의 쌍곡 탄젠트를 반환 |
|
toDegrees(x) |
라디안의 각도 x를 도수로 변환한 값을
반환 |
|
toRadians(x) |
도수의 각도 x를 라디안으로 변환한 값을
반환 |
|
ⓒ |
long round(double x) |
X에 가장 가까운 long 값을 반환 |
int round(float x) |
X에 가장 가까운 int 값을 반환 |
ⓐ의 메소드는 인수와 반환값이 모두 int,
long, float, double형인 4종류가 다중정의 되어 있음
ⓑ의 메소드는 인수와 반환값의 형이 모두 double
형임
<인용> 명쾌한
자바 입문 – 영진출판사 page 423~424
12-2. 예제 프로그램 및 결과
1. 예제 프로그램 소스
2. 출력 결과
13. Integer 클래스의 메소드들을 조사하고 다음 메소드 5개에 대하여 예제 프로그램을 작성하고 결과를 보여라.
Integer.bitCount(), Integer.decode() , Integer.parseInt() , Integer.toBinaryString() , Integer.reverse()
13-1. 메소드 조사
Wrapper class - 자료형에 대한 정보를 갖고 있는 클래스
Integer - int 자료형에 대한 정로를 작고 있는 클래스(래퍼 Wrapper 클래스임)
1)
bitCount(int i) - 주어진 정수에서 비트로 변환하여 그 비트의 총 개수를 구한다. -> 비트가 1일 개수만 전달(반환)한다.
2)
decode (String nm) - 문자열을 정수로 디코딩합니다. 10진수, 8진수
또는 16진수 숫자로 표현된 문자열을 입력할 수 있습니다.
doubleValue() - 정수(int)를 double로
변환한다.
3)
parseInt(String s) - 숫자형태로 된 문자열을 실제 정수로 변환한다.
parseInt(String s, int radix) - 10진수, 2진수, 8진수 또는 16진수(radix는 각각 10, 2, 8, 16)의 문자열 표현을 입력값으로
사용할 경우 정수를 반환합니다.
4)
진법변환 메소드
2진법 : toBinaryString(int i)
8진법 : toOctalString(int i)
16진법 : toHexString(int i)
5)
reverse (int i) - 지정된 int 치의 2 의 보수
바이너리 표현으로 비트의 순서를 반대로 해 취득된 값을 돌려줍니다.
13-2. 예제 프로그램 및 결과
1. 예제 프로그램 소스
2. 출력 결과
레포트 작성을 마치고
문제의 수가 많아서 제법 많은 시간을 사용한 것 같습니다. 중간중간에 나오는 문제 중에 쉬운 것도 있었고, 어려운 것도 있었습니다.
중간에 제대로 풀지 못했던 문제도 있었습니다. 제 생각에는 숫자의 범위를 처음부터 크게 잡아야 하는 것 같은데, 구체적으로 어떻게 해야 하는지 몰라 망설인 시간이 아쉽습니다. 이것은 저의 경험 부족에서 오는 부족함인 것 같습니다.
하지만 의외로 시간이 많이 걸렸던 것은 12,13번의 각 클래스를 조사하는 문제였습니다. 처음 접하는 클래스에 대한 내용은 정보를 찾기 조차 힘들고, 이것이 무엇인지 잘 이해도 가지 않았습니다. 하지만 정보를 수집하는 과정에서 조금은 해당 클래스에 대해 무엇인지를 알게 되었습니다.
지문은 짧게 제시되지만, 해결을 위해서는 복합적으로 생각해 봐야 하는 문제들을 통해, JAVA에 대한 경험을 조금 더 쌓을 수 있었습니다.
고맙습니다.
2. 참고 자료
인터넷
n http://sn.im/h6w5g Integer 클래스 예제
n http://sn.im/h6wpn decode, parseInt 메소드 기능
n http://sn.im/h6wyd Integer 클래스
n http://sn.im/h6x7x Integer 클래스
n http://sn.im/h6uzc Math 클래스 예제
서적
n 명쾌한 JAVA 입문(영진닷컴)