글 작성자: 취업중인 피터팬
728x90
기본 환경
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

목표

매개변수는 있지만 리턴 값이 있는 함수를 다음 시나리오와 함께 만들어 보시오.


 

 

코드
package ex05method;

import java.util.Scanner;

/*
시나리오] 여러개의 숫자를 입력받은 후 최대값을 구하는 
메소드를 정의하시오. 단 숫자의 갯수는 매개변수로 전달받고
숫자의 갯수만큼 Scanner클래스를 통해 입력받는다.
입력은 숫자중 최대값을 찾아서 반환하도록 정의한다.
*/

public class E05MethodType04_2 {

	public static void main(String[] args) {
		int maxValue1 = returnMaxNumber(4);
		System.out.println("최대값1 :" + maxValue1);
	}
	static int returnMaxNumber(int numberCnt) {
		Scanner scanner = new Scanner(System.in);
		
		int maxVal = 0;
		for(int i=1; i <= numberCnt; i++) {
			System.out.println("정수를 입력하세요 : ");
			int inputNum = scanner.nextInt();
			
			if(i == 1) {
				//입력받은 숫자중 첫번째 입력값을 기준값으로 설정한다.
				maxVal = inputNum;
			}
			else {
				//두번째 입력값부터 maxVal과 비교한다.
				if(maxVal < inputNum) {
					//만약 maxVal보다 입력값이 크다면 입력값으로 교체한다.
					maxVal = inputNum;
				}
				//maxVal이 더 크다면 기존값을 유지하면 되므로 else부분은 필요없다.
			}
		}
		
		return maxVal;
		
	}

}

여러 값을 받은 후 그 값중 최대값을 구하는 프로그램입니다. 1번째 입력값을 기준으로 2번째부터 최대값을 비교하여 변수에 넣는 식으로 최대값을 구하는 프로그램입니다. 주석을 보시면 더 자세히 알 수 있습니다.

 

 

결과 값