JUST GO

[Java] TEST1 본문

Java/TEST

[Java] TEST1

root_go 2022. 10. 12. 17:39

Q1. 다음 메서드를 만들어 보시오.

- 접근 제한자 : public

- 정적 : 네

- 반환 타입 : 정수 배열

- 이름 : filterNumbers

- 매개 변수 1 : 정수 배열

- 매개 변수 2 : 논리

- 하는 일 : '매개 변수1' 로 전달 받은 정수 배열에서 '매개 변수2'가 참이면 홀수만을, '매개 변수2'가 거짓이면 짝수만을 뽑아 뽑은 값들 만을 가지는 새로운 정수 배열로 만들어 반환

public class Main {
	public static void main(String[] args) throws Exception {
    int[] numbers = {1, 2, 3, 4, 5};
}

public static int[] filterNumbers(int[] numbers, boolean onlyOdds) {
        // return Arrays.stream(numbers)
        //        .filter(x -> onlyOdds == (x % 2 != 0))
        //        .toArray();
        // Stream API        
        int size = 0;
        for (int number : numbers) {
            if (onlyOdds && number % 2 != 0 || !onlyOdds && number % 2 == 0) {
                size++;
            }
        }
        int[] result = new int[size];
        int index = 0;
        for (int number : numbers) {
            if (onlyOdds && number % 2 != 0 || !onlyOdds && number % 2 == 0) {
                result[index++] = number;
            }
        }
        return result;
    }
}
// Stream API 위에 3줄이 밑에 모든 구문과 같은역할을 함.
// Stream API는 추가로 공부해두면 좋음.

Q2. 다음 메서드를 만들어 보시오.

- 접근 제한자 : public

- 정적 : 네

- 반환 타입 : int

- 이름 : pow

- 매개 변수 1 : int a

- 매개 변수 2 : int b

- 조건 : 

    - a 와 b는 0보다 크고 11보다 작은 정수이다.

- 하는 일 :

    - a의 b승을 반환

- 사용 예 :

    - sout(pow(3, 3)); // 27

    - sout(pow(2, 10)); // 1024

/**
 * 메인 클래스이다. 의미가 없음.
 * @author 개발팀 과장 고근호(rmsgh1202@naver.com)
 * @version 1.0.0
 */
public class Main {
    //...

    public static void main(String[] args) throws Exception {
        System.out.println( pow(3,3) );
        System.out.println( pow(2,10) );
        System.out.println(pow(0,0));
    }

    /**
     * 어떠한 수에 대한 제곱을 계산하여 반환한다.
     * @param a 1 이상의 정수
     * @param b 1 이상의 정수
     * @return a의 b제곱
     */
    public static int pow(int a, int b) {
        int result = 1;
        for(int i = 0; i < b; i++){
            // b = 3
            // i : 0, 1, 2
            result *= a;
        }
        return result;
    }
}

Q3. 아래 코드를 설명해보자.

public static int sum( int a, int b ) {
	return a + b;
}

접근제한자 : public

정적 : O

반환타입 : int

이름 : sum

매개변수 : int a, int b

매개 변수 a와 b를 반환받는다.

 

Q4. 아래 코드를 설명해보자.

a.equals(b)

a.equals(b) 는 "메서드" 이다.

a는 String 타입의 "객체" 이다.

equals는 String의 "멤버"이다.

String은 "클래스" 이다.

!a.equals(b)

순서 1. a.equlas(b) 가 먼저 실행된다.

순서 2. ! 가 실행된다.

'Java > TEST' 카테고리의 다른 글

[Java] TEST6  (0) 2022.10.20
[Java] TEST5  (0) 2022.10.19
[Java] TEST4  (0) 2022.10.19
[Java] TEST3  (0) 2022.10.19
[Java] TEST2  (0) 2022.10.13