실습(메소드)
1. 두 정수의 나눗셈을 해주는 메소드(몫과 나머지)
import java.util.Scanner;
public class MethodTask {
int[] div(int num1, int num2) {
int[] result = new int[2];
result[0] = num1 / num2; // 몫
result[1] = num1 % num2; // 나머지
return result;
}
}
2. 홀수를 짝수로, 짝수를 홀수로 바꿔주는 메소드
import java.util.Scanner;
public class MethodTask {
int change(int num) {
return ++num; // 증가값이 바로 변영되어야 하므로 전위형으로 작성한다.
}
public static void main(String[] args) {
MethodTask mt = new MethodTask();
int result = mt.change(30);
if(result % 2 == 0) {
System.out.println("짝수로 변경되었습니다.");
} else {
System.out.println("홀수로 변경되었습니다.");
}
}
}

3. 문자열을 입력받고 소문자는 대문자로, 대문자는 소문자로 바꿔주는 메소드
import java.util.Scanner;
public class MethodTask {
String changeString(String str) {
char c = ' ';
String result = "";
for (int i = 0; i < str.length(); i++) {
c = str.charAt(i); // 코드가 길어지므로 char형 변수에 담아준다.
if(c >= 65 && c <= 90) { // 대문자일 때
result += (char)(c + 32);
} else if(c >= 97 && c <= 122) { // 소문자일 때
result += (char)(c - 32);
} else { // 그 외 나머지
result += c;
}
}
return result;
}
}
4. 문자열을 입력받고 원하는 문자의 개수를 구해주는 메소드
import java.util.Scanner;
public class MethodTask {
int getCount(String str, char c) {
int count = 0;
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i) == c) { // charAt()을 사용하여 문자열 중 한 문자를 뽑아준다.
count++;
}
}
return count;
}
}
5. 5개의 정수를 입력받은 후 원하는 번째 값을 구해주는 메소드
import java.util.Scanner;
public class MethodTask {
int getValue(int[] arNum, int index) {
return arNum[index - 1]; // 4번째 값은 arNum[3]에 들어있으므로 index - 1
}
public static void main(String[] args) {
MethodTask mt = new MethodTask();
int[] arNum = {3, 5, 1, 2, 6};
System.out.println(mt.getValue(arNum, 4));
}
}

6. 한글을 정수로 바꿔주는 메소드(String 클래스의 IndexOf() 메소드를 사용한다.)
※ 참고
입력 예) 일공이사
출력 예) 1024
- 코드
import java.util.Scanner;
public class MethodTask {
int changeToInteger(String hangle) {
int[] num = new int[10];
String hangleOriginal = "공일이삼사오육칠팔구";
String result = "";
for (int i = 0; i < hangle.length(); i++) {
// hangle 문자열에서 charAt()을 이용하여 뽑은 문자를
// indexOf()를 이용하여 hangleOriginal에서 찾는다.
result += hangleOriginal.indexOf(hangle.charAt(i));
}
return Integer.parseInt(result);
}
public static void main(String[] args) {
MethodTask mt = new MethodTask();
Scanner sc = new Scanner(System.in);
System.out.print("한글(정수형식) : ");
System.out.println(mt.changeToInteger(sc.next())); // 입력한 문자를 찾는다.
}
}

7. 5개의 정수를 입력받고 최대값과 최소값을 구해주는 메소드(리턴 타입은 void이며, 메소드 안에서 출력하지 않는다.)
import java.util.Scanner;
public class MethodTask {
void getMaxAndMin(int[] arNum, int[] result) {
result[0] = arNum[0];
result[1] = arNum[1];
int max = arNum[0];
int min = arNum[0];
for (int i = 0; i < arNum.length; i++) {
if(result[0] < arNum[i]) {
result[0] = arNum[i];
}
if(result[1] > arNum[i]) {
result[1] = arNum[i];
}
}
}
public static void main(String[] args) {
MethodTask mt = new MethodTask();
int[] result = new int[2];
int[] arNum = {3, 5, 1, 2, 6};
mt.getMaxAndMin(arNum, result);
System.out.println("최대값 : " + result[0]);
System.out.println("최소값 : " + result[1]);
}
}

'ETC > 복습' 카테고리의 다른 글
[복습_JAVA] 21 (0) | 2022.09.02 |
---|---|
[복습_JAVA] 20 (0) | 2022.09.01 |
[복습_JAVA] 18 (0) | 2022.08.28 |
[복습_JAVA] 17 (0) | 2022.08.27 |
[복습_JAVA] 16 (0) | 2022.08.25 |