Math 클래스의 메소드들을 조사하고 다음 메소드 5개에 대하여 예제 프로그램을 작성하고 결과를 보여라.

Math.abs() , Math.sin(),  Math.max(),  Math.pow() , Math.random().

 

12-1. 메소드 조사

 

메소드

개요

abs(x)

X의 절대값을 반환

max(x)

X Y 가운데 큰 값을 반환

min(x)

XY 가운데 작은 값을 반환

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)

XY제곱한 값을 반환

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. 출력 결과

 


레포트 작성을 마치고 

1. 작성 후기

문제의 수가 많아서 제법 많은 시간을 사용한 것 같습니다. 중간중간에 나오는 문제 중에 쉬운 것도 있었고, 어려운 것도 있었습니다.

중간에 제대로 풀지 못했던 문제도 있었습니다. 제 생각에는 숫자의 범위를 처음부터 크게 잡아야 하는 것 같은데, 구체적으로 어떻게 해야 하는지 몰라 망설인 시간이 아쉽습니다. 이것은 저의 경험 부족에서 오는 부족함인 것 같습니다.

하지만 의외로 시간이 많이 걸렸던 것은 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 입문(영진닷컴)

,