코드 그라데이션

Day12 Quiz02 도형의 넓이 구하기 본문

Java/Mega-Method

Day12 Quiz02 도형의 넓이 구하기

완벽한 장면 2023. 3. 31. 01:07

 

소스코드

package Day12;

import java.util.Scanner;

public class Q2 {
	static int[] input() {
		Scanner sc = new Scanner(System.in);
		int [] a= new int[2];
		System.out.print("1.가로 : ");
		a[0] = sc.nextInt();
		System.out.print("2.세로 : ");
		a[1] = sc.nextInt();
		return a;
	}
	
	static int rect(int[] array) {
		return array[0] * array[1];
	}
	
	static void tri(int[] array) {
		System.out.println("삼각형 넓이 : "+(array[0]*array[1]/2));
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		
		while(true) {
			System.out.print("1. 사각형 넓이 2.삼각형 넓이 3. 종료");
			int num = sc.nextInt();
			if(num == 1) {
				//1. 가로 세로 입력
				//2. 사각형 넓이 구하는 함수 호출
				System.out.println("사각형 넓이 : "+rect(input()));
				
			}
			else if(num == 2) {
				//1. 가로 세로 입력
				//2. 삼각형 넓이 구하는 함수 호출
				tri(input());
				
			}
			else if(num == 3) {
				System.out.println("종료합니다.");
				break;
			}
			else {
				System.out.println("잘못된 입력입니다.");
			}
		}
	}

}

 

 

 

(1) 

숫자 입력

가로, 세로를 받아야 하므로 int[ ] 로 리턴 형태를 정한다. 

 

(2)

rec() 메소드

일단, 입력값 배열을 파라미터로 받고, 사각형의 넓이는 가로*세로 이므로 return을 배열[0]*배열[1]의 값으로 반환한다.

 

사각형의 넓이는 입력받은 가로, 세로 두 수를 가지고 계산해야 하므로, 받은 값 그 자체가  input() 메서드이다.

rect() 메소드는 파라미터o, 리턴값 o 메소드이므로, 

따라서 .안에 int배열로 받은을 받아야 하므로, 그 자체의 값이 input()값으로  main 메소드에서 rect의 괄호 안에 input() 자체를 파라미터로 받아서, rect(input()) 을 호출한다.

(rect 안에 int배열을 받아야 하므로, 그 자체의 값이 input())put

 

(3)

삼각형 tri() 메서드는

파라미터 o, 리턴값 x 메소드이다.

따라서 tri 메소드 안에 있는 실행문이 main문으로 가면 그대로 출력된다.

그리고 파라미터는 있으므로, tri() 괄호 안에  숫자를 받는 메서드인 input() 그 자체를 인자값으로 넣어서

tri(input()); 형태로 main문에 써주면 된다.

728x90
Comments