article thumbnail image
Published 2022. 9. 24. 17:47
728x90

예제1)

실습코드

package 메서드;

public class ex01메서드 {

	public static void main(String[] args) {
		
		// powerN()
		int base = 2;
		int n = 3;
		int result = powerN(base,n);
		System.out.println("결과 확인 : "+ result);
	}
	
	public static int powerN(int base, int n) {
		int sum=1;
		for(int i=1; i<=n; i++) {
			sum=sum*base;
		}	
		return sum;
		
	}
	
}

예제2)

package 메서드;

public class ex02메서드 {

	public static void main(String[] args) {
		
		int num1 =10;
		int num2 = 2;
		boolean divisor = isDivisor(num1,num2);
		System.out.println(divisor);
		
	}
	
	// 약수인지 아닌지를 구해주는 isDivisor 만들기
	public static boolean isDivisor(int num1, int num2) {
		// num1이 num2의 배수인지
		// =num2가 num1의 약수인지
		// =num1을 num2로 나누었을 때 나누어 떨어지는지
			if(num1%num2==0) {
				return true;
			}else {
				return false;
			}
		}
}

예제3)

실행코드

// getDivisor
	public static void getDivisor(int num3) {
		System.out.print(num3+"의 약수 : ");
		for(int i=1; i<=num3; i++) {
			if(num3%i==0) {
				System.out.print(i+" ");
			}
		}
		System.out.println();
	}

예제2번의 메서드를 활용한 예제3의 코드

// getDivisor
	public static void getDivisor(int num3) {
		System.out.print(num3+"의 약수 : ");
		for(int i=1; i<=num3; i++) {
			if(isDivisor(num3,i)) {
				System.out.print(i+" ");
			}
		}
		System.out.println();
	}

예제4)

실행 코드

// getSumOfDivisor
	public static int getSumOfDivisor(int num) {
		int result = 0;
		
		// tip. int : 4byte ---> 32bit
		// 2^32
		
		for(int i=1; i<=num/2; i++) {
			if(isDivisor(num,i)) {
				result+=i;
			}
		}return result+num;
	}

예제5)

실행코드

// 완전수인지 아닌지를 구해주는 isPerfectNumber 만들기
	public static boolean isPerfectNumber(int num3) {
		int result = 0;
		
		for(int i=1; i<num3; i++) {
			if(isDivisor(num3,i)) {
				result+=i;
			}
		}
		if(result==num3) {
			return true;
		}else {
			return false;
		}
	}

예제4를 이용한 코드

// 완전수인지 아닌지를 구해주는 isPerfectNumber 만들기
	public static boolean isPerfectNumber(int num3) {
		
		if(getSumOfDivisor(num3)-num3==num3) {
			return true;
		}else {
			return false;
		}
	}

예제6)

예제 코드(예제5 메소드를 활용)

// getPerfectNumber()
	public static void getPerfectNumber(int startValue, int endValue) {
		System.out.print(startValue+"~"+endValue+"까지의 완전수: ");
		for(int i=startValue; i<=endValue; i++) {
			if(isPerfectNumber(i)) {
			System.out.print(i+" ");
			}
		}
	}

PS.메소드안에 메소드를 잘생각해서 사용하면 가독성 편의성이 좋다!

응용력을 기르자!

728x90

'Study > JAVA' 카테고리의 다른 글

JAVA기초 12일차 <객체지향2>  (0) 2022.09.24
JAVA기초 11일차 <객체지향>  (1) 2022.09.24
JAVA 기초 9일차 <메서드>  (2) 2022.09.24
JAVA기초 8일차 <이차원 배열>  (1) 2022.09.24
JAVA 기초 7일차 <배열>  (1) 2022.09.21
복사했습니다!