11일차 메서드 2

박현정·2022년 3월 29일
0

JAVA 독학

목록 보기
15/26

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창에서 확인)

profile
Gut Beginer

0개의 댓글