모든지 기록하자!

[Java] 배열을 이용한 예제( 1차원배열의 합, 2차원배열의 합, 잔돈구하기) 본문

Java

[Java] 배열을 이용한 예제( 1차원배열의 합, 2차원배열의 합, 잔돈구하기)

홍크 2021. 5. 12. 21:22
728x90

1차원 배열 안에 숫자들의 합을 구하자

class Array01
{
	public static void main(String[] args)
{
			int[] arr = {10, 20, 30, 40, 50};
			int sum = 0; // 배열의 값을 넣을 변수

			for (int i = 0; i < arr.length; i++) {
				sum += arr[i];   //반복문을 통해 i번째 숫자를 sum에 더한다.
			} 					// arr[]의 길이만큼 반복한다.
			
					System.out.println("sum="+sum);
	}
}
//[실행결과]
//sum=150

 


 

2차원 배열 arr2에 담긴 모든 값의 총합과 평균을 구하는 프로그램을 완성하시오.

 

class Array02{

	public static void main(String[] args){

		int[][] arr = {
				{ 5, 5, 5, 5, 5},
				{10,10,10,10,10},
				{20,20,20,20,20},
				{30,30,30,30,30}
				};			
		int total = 0; //총합
		float average = 0; //평균
							
		for (int i = 0; i < arr.length; i++) {  // arr.lenth는 큰묶음 4개
			for (int j = 0; j < arr[i].length; j++) { // arr[i].length의 크기는 5
				total += arr[i][j]; // total에 모든값을 합산
			}
								
	}		
	    average = total/(float)(arr.length*arr[0].length); //float로 형변환
					//4 * 5 = 20	
		System.out.println("totat="+total);
		System.out.println("average="+average);
	} 
}
		//[실행결과]
		//totat=325
		//average=16.25

 


 

다음은 거스름돈을 몇 개의 동전으로 지불할 수 있는지를 계산하는 문제이다.

변수 money의 금액을 동전으로 바꾸었을 때 각각 몇 개의 동전이 필요한지 계산해서 출력하세요.

단, 가능한 한 적은 수의 동전으로 거슬러 주어야 한다. 

 

public class Array03 {

	public static void main(String[] args) {
	// 큰 금액의 동전을 우선적으로 거슬러 줘야 한다.
	int[] coinUnit = {500, 100, 50, 10};
	int money = 2680;
			
	System.out.println("money="+money)
	for(int i=0;i<coinUnit.length;i++) {   
    	count = money/coinUnit[i] // count는 2680/500 의 몫 = 500원짜리 의 갯수 5
		System.out.println(coinUnit[i]+"원: "+ count);  
		money %= coinUnit[i]; // 소지금을 i번째 금액으로 나눈 나머지를 money에 다시 대입후 반복
	}
} 
}
//		[실행결과]
//		money=2680
//		500원: 5
//		100원: 1
//		50원: 1
//		10원: 3

 

728x90

'Java' 카테고리의 다른 글

[Java] singleton 패턴  (0) 2021.05.13
[Java] 암호화 / 복호화  (0) 2021.05.13
[Java] static 변수  (0) 2021.05.12
[Java] 객체간의 협력(대중교통 이용)  (0) 2021.05.11
[Java] 객체지향 프로그래밍(OOP) 과 클래스(Class)  (0) 2021.05.11
Comments