10일차 배운 개념을 바탕으로 메서드 연습을 해보자.
(예제 1) 홀수를 짝수로 짝수는 홀수로 바꿔주는 메서드
int m(int num){
return num+1;
}
public static void main(String[] args) {
MethodTask v = new MethodTask();
int result1 = Integer.parseInt(JOptionPane.showInputDialog("홀수를 짝수로 바꿔드립니다. 입력부탁드립니다.(혹은 짝수를 홀수로 바꿔드립니다.)"));
JOptionPane.showMessageDialog(null, v.m(result1));
}}
(결과창)
(예제 2) 1부터 내가 입력한 정수까지의 누적합 구해주는 메서드&
(예제 3) 두 정수의 나눗셈 메서드
public class SumTest {
//1부터 내가 입력한 정수까지의 누적합 구해주는 메서드
void getSumFrom1(int end){
int result = 0;
if(end>1) {
for(int i=1;i<end+1;i++) {
result += i;
}System.out.println(result);
}else {
System.out.println("1보다 큰 수를 입력하세요.");
}
//주의 : Return 값 필요하지 않아 void!!!!
}
//* 두 정수의 나눗셈 메서드
void div(int num1, int num2){
double result1 = 0.0;
//reuslt 공간 앞에 설정해놓기!!
if(num2 !=0) {
result1 = Double.parseDouble(String.format("%.3f", (double)num1/num2));
//앞에서 여러번 했던 ^^ 정수/정수 = 정수가 되지않게 미리 format 잡아주기
System.out.println(result1);
}else {
System.out.println("0으로 나눌 수 없습니다.");
}
}
public static void main(String[]args) {
SumTest m = new SumTest();
//main method Scanner처럼 불러오기!
m.getSumFrom1(1);
m.getSumFrom1(6);
m.div(10, 0);
m.div(10, 3);
m.div(10,5);
} }
(결과창)
(예제 4)정수를 한글로 바꿔주는 메서드
입력 예)1024
출력 예)일공이사
//어떤 배열의 인덱스라면??
key point : 정수로 입력받으면 길이를 알수없음 그래서 문자열로 받아라!!
public class Korean {
void changeToHangle(String data){
String hangle = "공일이삼사오육칠팔구";
//왜배열로 안했어요? 문자열은 배열이기때문에
//그러나 문자열은 대괄호가 없기때문에 메서드로 접근할 수 있음!
String result ="";
int num = Integer.parseInt(data);
//클래스에서 Length를 구현하려면 스트링클래스안에 있는 Length라는 메쏘드를 사용 - 소괄호쓰기!!
for (int i = 0; i < data.length(); i++) {
result += hangle.charAt(num % 10);
//1의 자리수
num /= 10;
//1의자리수 아니까 잘라내는 것
}
for(int i=data.length()-1; i>-1;i--) {
System.out.println(result.charAt(i));
//출력은 저장되는 역순으로 되어야하기 때문에 charAt()를 사용!
}
}
public static void main(String[] args) {
Korean m = new Korean();
m.changeToHangle("394951");
}}
(결과창)
**혼자 생각해내기가 쉽지 않았다. CharAt()은 4일차때 암호할때 잠깐 했던거여서 바로 떠올리기가 쉽지 않았다. 또한 문자열이 배열이라는 생각으로 접근하지 못했다. 배열을 쓸까정도는 생각해냈지만 아직 갈길이 멀다. ^^
1) cmd 창에서 본인이 이클립스에서 만든 java 파일이 있는 경로로 이동
2) cd 경로(방금 복사한 경로)우클릭
3) javac 클래스명.java
(아까 경로에 클래스파일 만들어졌는지 확인)
4) cd ..
5) src>java 패키지명.클래스 값입력 > args로 받는다.
(예제)
public static void main(String[] args) {
//args 외부에서 들어오는 값이 담겨 있음
if(args.length ==0) {
System.out.println("None");
}else {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
} }
(cmd창에서 확인)