[Java] 제곱계산 반환,홀수만 계산 여러 풀이법

public class Main {
    public static void main(String[] args) throws Exception{
        System.out.println();
    }
    /**
     * 어떠한 수에 대한 제곱을 계산하여 반환한다.
     * @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++){
        result *=a;
    }
    return result;
    }


    /**
     *
     * @param numbers
     * @param onlyOdds
     * @return
     */

    //boolean형 ==true 생략
    //false를 나타낼때도 !boolean형 으로 표현하는게 더 편함
    public static int[] filterNumbers(int numbers[],boolean onlyOdds) {


       //stream처리 로 푸는 방법
        return Arrays.stream(numbers)
                .filter(x->onlyOdds == (x%2 != 0))
                .toArray();

        // 일반 for 문으로 푸는 방법
    int size =0;
    for (int number : numbers){
        if(onlyOdds && number %2 != 0){
            size++;
            continue;
        }
        if(!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;
    }
}

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

[Java] Annotation(Java Annotation, Lombok Annotation)  (30) 2023.08.28
[Java] String 클래스  (0) 2023.02.09
[Java] 배열과 열거형  (0) 2023.02.09
[Java] 예외처리(try-catch문, throw~)  (0) 2023.02.09
[Java] Integer 클래스  (3) 2023.02.08