자꾸 새로운 문제들로 메소드를 반복하고 있는데, 문제를 푸는 것보다 중요한 것은 메소드에 익숙해지는 것입니다.
이번에도 메소드의 동작 원리에 익숙해지는 것을 의식하면서 공부해봅시다.
지난 포스트
실습 문제
2개의 정수 base와 n을 받아 base의 n제곱만큼 값을 반환하는 powerN() 메소드를 작성하세요.
(예)
powerN(2, 3) → 2×2×2 → 8을 반환
powerN(3, 3) → 3×3×3 → 27을 반환
powerN(10, 2) → 10×10 → 100을 반환
이번 문제의 힌트는, base의 값을 n번 계속 반복해서 곱해줘야겠죠?
반복을 하니까 반복문을 사용할 겁니다.
그리고 n번 곱해줘야 한다는, 끝이 정해져 있습니다.
끝이 정해져 있는 반복문은 무엇인지 안 잊어버리고 계신가요?
위의 세 반복문 중에서 하나가 사용이 됩니다.
풀이
package 메소드실습;
public class Ex02_제곱메소드 {
public static void main(String[] args) {
int base = 12;
int n = 3;
int result = powerN(base, n);
System.out.println("결과 확인 : " + result);
}
private static int powerN(int base, int n) {
int result = base;
for(int i=1; i<n; i++) {
result *= base;
}
return result;
}
}
처음에도 말씀 드렸지만, 중요한 것은 메소드의 동작 원리를 반복해서 접하면서 이해하는 것입니다.
제곱의 값을 구하는 코드의 이해는 그 다음입니다.
일단 지금까지 공부해온 내용으로 충분히 이해하실만한 코드이기 때문에 자세한 설명은 생략하겠습니다.
위의 코드 중에서 result *= base; 에서 나오는 *= 는 복합대입연산자입니다.
어떤 뜻을 가진 연산자인지 가물가물하신 분들은 위의 글을 확인해주세요.
다음 포스트
이 글이 도움이 됐다면 하단의 ♡ 공감 버튼을 꾹 눌러서
빨간 하트♥로 만들어주세요.
지인에게 보여주고 싶은 글이었다면
공감 버튼 옆을 클릭해서 SNS에 공유해주세요.
댓글은 블로그 운영에 큰 힘이 됩니다.
'그 외 프로그래밍 언어 > Java' 카테고리의 다른 글
자바, 객체지향 프로그래밍 (OOP) (0) | 2021.12.12 |
---|---|
자바, 메소드 오버로딩 (중복정의) (0) | 2021.12.11 |
자바, 메소드(method)의 기본 구조 빠르게 만드는 법 (0) | 2021.12.11 |
자바, 메소드(method) 실습 2 (0) | 2021.12.11 |
자바, 메소드(method) 실습 (0) | 2021.12.11 |
댓글