Web Developer/JAVA I

5. Function (함수) 연습문제 -

sayitditto 2023. 1. 7. 23:58

I. 함수 사용하기

1. 2의 제곱 함수

public class method_quiz {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner (System.in);
		System.out.print("제곱값을 구할 숫자를 입력하세요: ");
		int a = scan.nextInt();
		System.out.println(a + "의 제곱은 " + getSquared(a) + "입니다. ");
     }
	
	public static int getSquared(int x) {
		return x * x;
	}
}

2. 평균 구하기 함수

public class method_quiz {

	public static void main(String[] args) {
		
		System.out.print("점수를 입력하세요: ");
		int b = scan.nextInt();
		int c = scan.nextInt();
		int d = scan.nextInt();
		int e = scan.nextInt();
		System.out.println("평균은 "+ getAverage(b,c,d,e));
     }
	
	public static double getAverage(int score1, int score2, int score3, int score4) {
		return (score1 + score2 + score3 + score4) /  (double)4;
	}
}

3. 몫과 나머지 출력 함수

public class method_quiz {

	public static void main(String[] args) {
		
		System.out.print("숫자를 입력하세요 : ");
		int f = scan.nextInt();
		int g = scan.nextInt();
		printQuotientRemainder(f, g);
     }
	
	public static void printQuotientRemainder(int number1, int number2) {
		System.out.println("몫 : " + number1 / number2);
		System.out.println("나머지 : " + number1 % number2);
	}
}

4. 홀짝 함수

public class method_quiz {

	public static void main(String[] args) {
		
		System.out.print("숫자를 입력하세요 : ");
		int h = scan.nextInt();
		System.out.println(isEven(h));
		
     }
	
	public static boolean isEvenNumber(int number) {
		if (number % 2 == 0) {
 			return true;
 		}
 		return false;
		
		return number % 2 == 0 ? true : false; // 삼항 조건문
	}
}

II. 함수 사용하기

1. 합 구하기

수를 입력 받아서 1에서 부터 그 수 까지의 합을 구하는 함수를 만드세요.

단, 합이 100이 넘으면 합을 중단하고 그 때 까지의 합을 리턴하세요.

public class Quiz01 {

	public static void main(String[] args) {
	
		Scanner scan = new Scanner(System.in);
        
        System.out.print("숫자를 입력하세요 : ");
		int i = scan.nextInt();
		System.out.println(addNumber(i));
	}        
    	public static int addNumber (int b) {
			int sum = 0;
			for (int i = 1; i <= b; i++) {
				sum += i;
				if (sum > 100) {
					break;
				}
			} return sum;
		}
}

2. 최소값 (5개의 수를 입력 받아서 최소값을 출력하는 함수를 만드세요.(리턴값 없음))

public class method_quiz {
	public static void main(String[] args) {
		
		Scanner scan = new Scanner (System.in);	
		System.out.print("숫자를 입력하세요 : ");
		int a1 = scan.nextInt();
		int a2 = scan.nextInt();
		int a3 = scan.nextInt();
		int a4 = scan.nextInt();
		int a5 = scan.nextInt();
		getMinimun(a1, a2, a3, a4, a5);
	} 
	public static void getMinimun (int n1, int n2,int n3, int n4, int n5) {
		int min = n1;
		if (min > n2) {
			min = n2;
		}
		if (min > n3) {
			min = n3;
		}
		if (min > n4) {
			min = n4;
		}
		if (min > n5) {
			min = n5;
		}
		System.out.println(min);
	}
}

3. 소수 판별 (Prime)

public class Quiz01 {

	public static void main(String[] args) {
	
		Scanner scan = new Scanner(System.in);
        
        System.out.print(" (소수판별) 숫자를 입력하세요 : ");
		int j = scan.nextInt();
		System.out.println(isPrime(j));
	}        
    	public static boolean isPrime (int p) {
		 
		for (int i = 2; i < p; i++) {
			if (p % i == 0) {
				return false;
			}
		}
		return true;
	}
}

참고:

1. 2보다 큰 수를 2부터 number보다 하나 작은 값까지 나눠본다

2. 하나라도 나누어 떨어지면 소수가 아니다.

3. 이곳까지 도달하면 나누어 떨어진 수가 없었거나, 2는 반복문에 도달하지 않았으므로 소수이다.