본문 바로가기

3월 ~ 5월) 자바/숙쩨

6Day - Array / UpAndDown

//사람들의 나이를 저장한 배열 생성하여 참조변수에 저장
        int[] age={27,16,22,36,57,60,43,23,14,29,44,52,59,51,39,33,11};

        //배열에 저장된 모든 사람들의 나이 평균을 계산하여 출력하세요.


        System.out.println("===============================================================");
        //배열에 저장된 사람들의 나이를 연령별로 구분하여 인원수를 계산하여 출력하세요.
        //ex) 10대 = 3명
        //    20대 = 4명
        //    ...
        //    60대 = 1명



    }
}

 


UpAndDown

//컴퓨터로부터 제공받은 정수 난수값을 키보드로 입력하여 맞추는 프로그램을 작성하세요.
// => 1~100 범위의 정수 난수값을 제공받도록 작성
// => 난수값을 맞출 수 있는 기회는 10번만 제공되도록 작성
// => 키보드 입력값이 1~100 범위가 아닌 경우 메세지 출력 후 재입력
// => 난수값과 입력값이 같은 경우 입력 횟수 출력 후 프로그램 종료
// => 난수값과 입력값이 다른 경우 "큰값 입력" 또는 "작은값 입력" 형식의 메세지 출력
// => 난수값을 10번 안에 맞추지 못한 경우 난수값이 출력되도록 작성

 

//사람들의 나이를 저장한 배열 생성하여 참조변수에 저장
        int[] age = {27,16,22,36,57,60,43,23,14,29,44,52,59,51,39,33,11};

        //배열에 저장된 모든 사람들의 나이 평균을 계산하여 출력하세요.
        int tot = 0;
        for (int nai : age) { // nai 나이
            tot += nai;
        }

        System.out.println("평균 나이 = " + (tot/age.length) + "살");
        
        
평균 나이 = 36살

 

방법1)

//배열에 저장된 사람들의 나이를 연령별로 구분하여 인원수를 계산하여 출력하세요.
        //ex) 10대 = 3명
        //    20대 = 4명
        //    ...
        //    60대 = 1명

        /* 방법 1)
		//연령별 인원수를 저장하기 위한 변수 선언
		int cnt10=0, cnt20=0, cnt30=0, cnt40=0, cnt50=0, cnt60=0;

		//배열의 요소을 일괄처리 하기 위한 반복문
		for(int nai : age) {
			//연령별 인원수를 누적하기 위한 선택문
			if(nai >= 10 && nai < 20) cnt10++;
			else if(nai >= 20  & nai < 30) cnt20++;
			else if(nai >= 30  & nai < 40) cnt30++;
			else if(nai >= 40  & nai < 50) cnt40++;
			else if(nai >= 50  & nai < 60) cnt50++;
			else if(nai >= 60  & nai < 70) cnt60++;
		}

		System.out.println("10대 = "+cnt10+"명");
		System.out.println("20대 = "+cnt20+"명");
		System.out.println("30대 = "+cnt30+"명");
		System.out.println("40대 = "+cnt40+"명");
		System.out.println("50대 = "+cnt50+"명");
		System.out.println("60대 = "+cnt60+"명");
		*/

 

방법 2)

// 방법 2)

// 배열에 저장된 사람들의 나이를 연령별로 구분하여 인원수를 계산하여 출력하세요.
        //ex) 10대 = 3명
        //    20대 = 4명
        //    ...
        //    60대 = 1명

        int[] cnt=new int[6];

        for(int nai : age) {
			/*
			switch(nai / 10) {
			case 1: cnt[0]++; break;
			case 2: cnt[1]++; break;
			case 3: cnt[2]++; break;
			case 4: cnt[3]++; break;
			case 5: cnt[4]++; break;
			case 6: cnt[5]++; break;
			}
			*/

            cnt[nai / 10 - 1]++;
        }

 

방법 3)

// 방법 3

// 배열에 저장된 사람들의 나이를 연령별로 구분하여 인원수를 계산하여 출력하세요.
// ex) 10대 = 3명
//    20대 = 4명
//    ...
//    60대 = 1명

        for(int i = 0; i < cnt.length; i++) {
            System.out.println((i + 1) +"0대 = " + cnt[i] + "명");
        }
        
10대 = 3명
20대 = 4명
30대 = 3명
40대 = 2명
50대 = 4명
60대 = 1명