본문 바로가기
그 외 프로그래밍 언어/Java

자바, 메소드(method) 실습 2

by Dreaming Coder 2021. 12. 11. 17:17

 


 

메소드에 익숙해지기 위해서 또 메소드 실습 문제를 풀어나가 보겠습니다.

 

 

 

지난 포스트

 

자바, 메소드(method) 실습

지금까지 공부한 내용들로 이번에는 문제를 보고 직접 메소드를 만들어봅시다. 어렵게 생각하실거 없습니다. 지금까지 공부한 내용으로 충분히 만드실 수 있습니다. 지난 포스트 자바, 리턴 타

gogogameboy.tistory.com

 

 

 

실습 문제

 

정수형 변수 num1과 num2를 각각 초기화하고 문자형 변수 op를 선언해 원하는 연산자로 초기화하세요.

num1, num2, op를 받아 num1과 num2를 op에 맞게 연산한 최종 값을 반환해주는 cal 메소드를 작성하세요.

(단, 빼기를 수행할 때는 더 큰 수에서 작은 수를 빼주세요.)

 

 

 

 

 

자바, 여러 가지 데이터 타입

자바에서 변수를 선언할 때, 변수 이름 앞에 자료형(데이터 타입)을 넣는다는 것을 전에 배웠습니다. 이번에는 그 데이터 타입들의 종류들에 대해서 알아보겠습니다. 지난 포스트 자바, 변수 명

gogogameboy.tistory.com

문제 안에서 오랜만에 보는 데이터 타입인 캐릭터char가 나왔습니다.

 

 

 

 

자바, 조건문 switch문

이제 반목문 마지막입니다. 마지막으로 배울 반복문은 switch문입니다. 지난 포스트 자바, 조건문 다중 if-else문 실습 이전에 공부한 다중 if-else문으로 아래와 같은 프로그램을 만들어봅시다. 지난

gogogameboy.tistory.com

이번 문제를 풀 때는 조건문으로 자주 사용되는 다중 if-else문으로도 풀 수 있지만,

이번에는 switch문을 쓰는 게 코드가 더 깔끔하고 예뻐 보입니다.

switch문이 가물가물하신 분들은 위의 포스트를 참고해서 switch문으로 문제를 풀어봅시다.

 

 

 

 

정답

 

package 메소드실습;

public class Ex01_계산기 {

	public static void main(String[] args) {
		int num1 = 60;	// 숫자1
		int num2 = 15;	// 숫자2
		char op = '-';	// 어떤 연산을 수행할 건지 연산자
		
		System.out.println(cal(num1, num2, op));

	}

	private static int cal(int num1, int num2, char op) {
		
		// 1. 매개변수로 받아온 op가 +라면
		// 2. num1과 num2를 더한 값을 result에 담아주기
		// 3. op가 -라면
		// 4. num1과 num2를 뺀 값을 result에 담아주기
		// 5. op가 *라면
		// 6. num1과 num2를 곱한 값을 result에 담아주기
		// 7. op가 /라면
		// 8. num1과 num2를 나눈 몫을 result에 담아주기
        
		int result = 0;

		switch(op) {
		case '+':
			result = num1+num2;
			break;
		case '-':
			result = num1>num2 ? num1-num2 : num2-num1;
			break;
		case '*':
			result = num1*num2;
			break;
		case '/':
			result = num1/num2;
			break;
		default:

		}
		
		return result;
	}

}

 

switch문, 오랜만에 보니 예쁘긴 합니다.

 

여기서 주목할 부분은, 연산자가 마이너스일 경우에는 더 큰 수에서 작은 수를 빼주라는 조건이 붙어있었습니다.

그래서 또 오랜만에 등장하는 것이 삼항연산자입니다.

char 타입의 변수 op가 '-'일 경우에는 삼항연산자를 이용해서 더 큰 수에서 작은 수를 빼라고 코드를 짜주었습니다.

 

 

 

 

자바, 삼항연산자

연산자 중에서 마지막으로 배울 것은 삼항연산자입니다. 삼항연산자는 말 그대로 항(피연산자)이 3개인 연산자입니다. 3개의 항을 이용해 간단한 조건문을 만들 때 사용합니다. 지난 포스트 자

gogogameboy.tistory.com

삼항연산자에 대해 다시 짚고 넘어가실 분들은 위의 글을 봐주세요.

 

 

 

package 메소드실습;

public class Ex01_계산기 {

	public static void main(String[] args) {
		int num1 = 60;	// 숫자1
		int num2 = 15;	// 숫자2
		char op = '-';	// 어떤 연산을 수행할 건지 연산자
		
		System.out.println(cal(num1, num2, op));

	}

	private static int cal(int num1, int num2, char op) {
		
		// 1. 매개변수로 받아온 op가 +라면
		// 2. num1과 num2를 더한 값을 result에 담아주기
		// 3. op가 -라면
		// 4. num1과 num2를 뺀 값을 result에 담아주기
		// 5. op가 *라면
		// 6. num1과 num2를 곱한 값을 result에 담아주기
		// 7. op가 /라면
		// 8. num1과 num2를 나눈 몫을 result에 담아주기
        
		int result = 0;
        
		if(op=='+') {
			result = num1+num2;
		} else if(op=='-') {
			result = num1>num2 ? num1-num2 : num2-num1;
		} else if(op=='*') {
			result = num1*num2;
		} else if(op=='/') {
			result = num1/num2;
		} else {
			
		}
		
		return result;
	}

}

 

다중 if-else문으로 해결할 경우에는 이렇게 할 수 있습니다.

 

 

 

혹시 코드를 복사해가고 싶으신 분들을 위해 아래에 코드를 올려두겠습니다.

 

 

 

위의 소스 코드는 PC에서 드래그 후,
ctrl+x로 잘라내서 다른 곳으로 붙여넣기가 가능합니다.
ctrl+c(복사)는 불가능합니다.

 

 

 

 

 

 

다음 포스트

 

자바, 메소드(method)의 기본 구조 빠르게 만드는 법

이번에는 메소드의 기본 구조를 빠르게 생성하는 법을 배워보겠습니다. 이 글은 그냥 쓰지 않고 넘어갈까 했는데, 혹시라도 코딩을 독학으로 하시는 분들 중에서는 모르는 분도 계실까봐 따로

gogogameboy.tistory.com

 

 

 


이 글이 도움이 됐다면 하단의 공감 버튼을 꾹 눌러서
빨간 하트로 만들어주세요.
지인에게 보여주고 싶은 글이었다면
공감 버튼 옆을 클릭해서 SNS 공유해주세요.
댓글은 블로그 운영에 큰 힘이 됩니다.

 


 


댓글