JAVA 사용자 정의 함수 2

2018. 3. 24. 15:50개발노트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
public class Main {
 
    public static int function(int number, int k) {
        for(int i = 1; i <= number; i++)
        {
            if(number % i == 0)
            {
                k--;
                if(k == 0)
                {
                    return i;
                }
            }
        }
        return -1;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int result = function(305010);
        if (result == -1)
        {
            System.out.println("3050의 10번째 약수는 없습니다.");
        }
        else
        {
            System.out.println("3050의 10번째 약수는" + result + "입니다.");
        }
 
    }
 
}
 
cs


최대공약수를 구하기위해


function이라는 최대공약수를 구하는 함수를 정의해주고


함수를 이용해 값만 바꾸면 쉽게 최대공약수를 찾을 수 있습니다.


1
3050의 10번째 약수는610입니다.
cs




문자열 함수 만들기


1
2
3
4
5
6
7
8
9
10
11
12
13
 
public class Main {
 
    public static char function(String input) {
        return input.charAt(input.length()-1);
        
        
    }
    public static void main(String[] args) {
        System.out.println("가나다의 마지막 글자는? " + function("가나다"));
    }
}
 
cs


마찬가지로 function을 이용했지만 char을 사용해서 문자열을 받을 수 있도록하고


charAt은 문자열을 받을 때 0부터 순서대로 받기 때문에


-1을 해줘서 마지막 글자가 출력 될 수 있게 합니다.


1
가나다의 마지막 글자는? 다
cs


max를 사용하여 가장 큰 값 찾기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
public class Main {
 
    public static int max (int a, int b) {
        return (a>b) ? a:b;
    
        
    }
    
    public static int function (int a, int b, int c) {
        int result = max(a,b);
        result = max(result, c);
        return result;
    }
    public static void main(String[] args) {
        System.out.println("(111,222,333) 중에서 가장 큰 값은?" + function(111,222,333));
    }
}
 
cs


우선 값을 값을 비교해주는 max를 만들어 주고


값을 처리하는 function함수를 만듭니다.


처음엔 a, b를 비교해고 큰수를 찾아서 c와 비교합니다.


1
2
(111,222,333) 중에서 가장 큰 값은?333
 
cs