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는 반복문에 도달하지 않았으므로 소수이다.