비전공자 공부일기/:: JAVA

[Java] 배열 연습문제 - 정수를 여러개 입력받아 순서대로, 거꾸로 출력하기

와니_ 2020. 4. 14. 18:53

폴리텍광명교육원

JAVA Day04 과제 1번

1. 10개의 정수를 입력받아 다음과 같이 출력하는 코드를 작성하시오.

 

(예시)

------------- 인풋이 다음과 같을 때

1's num : 12
2's num : 5
3's num : 8
4's num : 30
5's num : 22
6's num : 87
7's num : 9
8's num : 4
9's num : 15
10's num : 22

 

------------- 아웃풋이 다음과 같도록
< 짝수 >
12 8 30 22 4 22
짝수의 총합 : XXX

< 홀수 >
5 87 9 15
홀수의 총합 : XXX

 

나의 풀이

package kr.ac.kopo.day04.exam;

import java.util.Scanner;

public class Day04Exam01 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		// 크기가 10인 배열 arr 생성
		int[] arr = new int[10];

		// 정수를 입력받아 arr배열에 저장
		for (int i = 1; i <= 10; i++) {
			System.out.printf("정수를 입력해주세요 %d 's num: ", i);
			arr[i - 1] = sc.nextInt();
			System.out.println();
		}

		// 짝수와 홀수의 각 총합을 저장할 변수
		int even = 0;
		int odd = 0;

		// 짝수와 홀수로 나눠 저장할 배열(몇 개가 입력될지 모르므로 크기는 각 10개로 지정)
		int[] evenArr = new int[10];
		int[] oddArr = new int[10];

		// 배열에 저장된 값을 불러올 인덱스
		int arrIndex = 0;
		int evenIndex = 0;
		int oddIndex = 0;

		while (arrIndex < 10) {

			// 저장된 값이 짝수일 때
			if (arr[arrIndex] % 2 == 0) {
				evenArr[evenIndex] = arr[arrIndex]; // 짝수 배열에 저장
				even += arr[arrIndex]; // 짝수 총합에 누적
				arrIndex++;
				evenIndex++;

			// 저장된 값이 홀수일 때
			} else {
				oddArr[oddIndex] = arr[arrIndex]; // 홀수 배열에 저장
				odd += arr[arrIndex]; // 홀수 총합에 누적
				arrIndex++;
				oddIndex++;

			}

		}

		System.out.println("< 짝  수  >");
		for (int i = 0; i < 10; i++) {
			if (evenArr[i] == 0)
				break;
			System.out.print(evenArr[i] + " ");
		}
		System.out.println("\n 짝수의 총합: " + even);

		System.out.println();

		System.out.println("< 홀  수  >");
		for (int i = 0; i < 10; i++) {
			if (oddArr[i] == 0)
				break;
			System.out.print(oddArr[i] + " ");
		}
		System.out.println("\n 홀수의 총합: " + odd);

		sc.close();

	}

}