java/배열

배열 기본문제

june__Park 2021. 3. 23. 10:26
package week2;

public class Day6_assignment {

	public static void main(String[] args) {
		// 문제 1) 아래 배열 a 와 b 를 비교해서 둘의 합이 짝수 일때만 c에 저장 
		//
		int a[] = { 10, 20, 30, 40, 50 };
		int b[] = { 13, 54, 17, 42, 1 };
		int c[] = { 0,0,0,0,0};
		// 예) c[] = {74,82,0,0,0}
		int j = 0;
		for(int i = 0; i < a.length; i++) {
			if((a[i]+b[i])%2 == 0) {
				c[j] = a[i]+b[i];
				j++;
			}
		}
		System.out.print("c[] = {");
		for(int i = 0; i < c.length; i++) {
			if(i<c.length-1) {
				System.out.print(c[i]+",");
			}
			else {
				System.out.print(c[i]);
			}
		}
		System.out.println("}");
		
		// 문제2) 아래는 시험결과 이다. 시험에 합격한사람의 번호만 win 에 저장 (60점이상합격)
		int num[] = { 1001, 1002, 1003 };
		int score[] = { 50, 83, 78 };
		int win[] = { 0,0,0 };
		// 예) win[]= {1002, 1003, 0};
		j=0;
		for(int i = 0; i < score.length; i++) {
			if(score[i]>=60) {
				win[j]=num[i];
				j++;
			}
		}
		System.out.print("win[] = {");
		for(int i = 0; i < win.length; i++) {
			if(i<win.length-1) {
				System.out.print(win[i]+", ");
			}
			else {
				System.out.print(win[i]);
			}
		}
		System.out.println("}");
		
		// 문제3) 아래는 시험결과 이다 시험에 합격한 사람의 번호만 win2 에 저장 (60점이상 합격)
		int data[] = { 1001, 80 , 1002, 23, 1003 , 78 };
		int win2[] = { 0,0,0 };
		// 예) win2[] = {1001, 1003, 0};
		int k = 0;
		j=0;
		while(k<data.length) {
			if((k%2==0) && (data[k+1]>=60)) {
				win2[j] = data[k];
				j++;
			}
			k++;
		}
		System.out.print("win2[] = {");
		for(int i = 0; i < win2.length; i++) {
			if(i<win2.length-1) {
				System.out.print(win2[i]+", ");
			}
			else {
				System.out.print(win2[i]);
			}
		}
		System.out.println("}");
		

	}

}