본문 바로가기

Java/Codes

1차원 배열의 최대 값, 최소 값을 합하기

1차원 배열에 5개의 수를 사용자에게 받아와 최대 값, 최소 값을 더하는 기능을 구현했다.

 

package Test_0314;

import java.util.Scanner;

public class Cond_Loop {

	//2. 데이터를 담을 배열선언(전역변수)
	int[] input_ary = new int[5];
	int top;
	int bot;

	//4. 가장 큰수와 작은수를 뽑아내 더하는 함수
	int hap() 
	{
		top = input_ary[0];
		bot = input_ary[0];
		for(int i = 0;i<input_ary.length;i++)
		{
			if(top<input_ary[i])
			{
				top = input_ary[i];
			}
				
			if(bot>input_ary[i])
			{
				bot = input_ary[i];
			}
		}
			
		return top+bot;
	}
	
	public static void main(String[] args) {
		
		
		//[5개의 정수를 받아 가장 큰 수와 작은수 비교하여 함수로 더하기]
		System.out.println("[정수 5개를 입력하면 가장 큰 값과 작은 값을 더하는 프로그램]");
			
		//1.스캐너 선언
		Scanner sc = new Scanner(System.in);
				
		//3.클래스 주소를 통해 사용자에게 받은 데이터 5개 반복문으로 받아서 전역변수배열에 담기
		
		Cond_Loop cl = new Cond_Loop();
		
		for(int i = 0;i<cl.input_ary.length;i++)
		{
			System.out.printf("배열 %d에 들어갈 값을 입력하세요. : ",i);
			cl.input_ary[i] = sc.nextInt();
		}
		
		System.out.println();
		System.out.println("배열 들어간 값 확인");
		for(int i = 0;i<cl.input_ary.length;i++)
		{
			System.out.printf("%d ",cl.input_ary[i]);
			
		}
		cl.hap();

		
		//7.사용자에게 보여주기
		System.out.println();
		System.out.println();
		System.out.printf("가장 큰 수는 %d 입니다.\n",cl.top);
		System.out.printf("가장 작은수는 %d 입니다.\n\n",cl.bot);
		System.out.printf("가장 큰 수와 작은 수의 합은 %d 입니다.\n",cl.hap());
		
		

	}

}

실행결과는 다음과 같다.

 

[정수 5개를 입력하면 가장 큰 값과 작은 값을 더하는 프로그램]
배열 0에 들어갈 값을 입력하세요. : 10
배열 1에 들어갈 값을 입력하세요. : 20
배열 2에 들어갈 값을 입력하세요. : 40
배열 3에 들어갈 값을 입력하세요. : 60
배열 4에 들어갈 값을 입력하세요. : 30

배열 들어간 값 확인
10 20 40 60 30 

가장 큰 수는 60 입니다.
가장 작은수는 10 입니다.

가장 큰 수와 작은 수의 합은 70 입니다.