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(3050, 10); 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 |