JAVA - 반복문 & 배열 연습 문제

박종휘·2022년 9월 22일
0

JAVA - 국비

목록 보기
9/29
post-thumbnail

1. 반복문

public class Loop {

	public static void main(String[] args) {
		// 문제1. 1 ~ 10 까지 홀수 값의 합
		
		int sum = 0;
		
		for(int i = 1; i <= 10; i++) {
			if(i % 2 != 0) {
				sum += i;
			}
		}
		System.out.println("sum = " + sum);
		System.out.println("-------------------------------");
		
		
		// 문제2. 1 ~ 10 까지 짝수 값의 합
		
		int sum2 = 0;
		
		for(int i = 1; i <= 10; i++) {
			if(i % 2 == 0) {
				sum2 += i;
			}
		}
		System.out.println("sum2 = " + sum2);
		System.out.println("-------------------------------");
		
		/*
		 * 문제 3.
		 * 	★★★★★★★★
			★★★★★★★★
			★★★★★★★★
			★★★★★★★★
			★★★★★★★★
			★★★★★★★★
			★★★★★★★★
			★★★★★★★★
		 */
		
		for(int i = 0; i <= 7; i++) {
			for(int j = 0; j <= 7; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}
		System.out.println("-------------------------------");
		
		/*
		 * 문제 4. 
			★★★★★★★★
			★★★★★★★
			★★★★★★
			★★★★★
			★★★★
			★★★
			★★
			★
		 */
		
		for(int i = 0; i <= 7; i++) {
			for(int j = i; j <= 7; j++) {	// 별이 줄어들어야 하므로 j의 초기식을 i와 동일하게 하여
				System.out.print("*");		// 별의 갯수를 줄여나간다.
			}
			System.out.println("");
		}
		System.out.println("-------------------------------");
		
		/*
		 * 문제 5.
			★
			★★
			★★★
			★★★★
			★★★★★
			★★★★★★
			★★★★★★★
			★★★★★★★★
		 */
		
		for(int i = 7; i >= 0; i--) {	// 위와는 반대로 첫번째 *이 1개 부터 시작이므로 조건에 맞으려면 i의 초기 값을 7로 시작해야한다.
			for(int j = i; j <= 7; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}
		System.out.println("-------------------------------");
		
		/*
		 * 문제 6. 2단 ~ 9단까지 구구단 출력(결과만 나와도 가능)
		 * 		  2중 for문, 2중 while문
		 */
		
		// for
		int multi = 0;
		
		for(int i = 2; i <= 9; i++) {
			for(int j = 1; j <= 9; j++) {
				multi = i * j;
				System.out.println(i + " * " + j + " = " + multi);
			}
		}
		System.out.println("-------------------------------");
		
		// while
		int multi2 = 0;
		int i = 2;
		while(i <= 9) {
			int j = 1;
			while(j <= 9) {
				multi2 = i * j;
				System.out.println(i + " * " + j + " = " + multi2);
				j++;
			}
			i++;
		}
	}
}

2. 배열

public class Array {

	public static void main(String[] args) {
		// 문제 1, num 배열에 저장된 요소의 합을 구하시오
		
		int[] num = {12, 56, 23, 39};
		int sum = 0;
		
		for(int i = 0; i < num.length; i++) {
			sum += num[i];
		}
		System.out.println("sum = " + sum);

		// 문제2, num2 배열에 저장된 요소의 합과 평균을 구하시오
		
		int[] num2 = new int[] {3, 6, 9, 12, 137};
		int sum2 = 0;
		for(int j = 0; j < num2.length; j++) {
			sum2 += num2[j];
		}
		System.out.println("sum2 = " + sum2);
		

		// 문제3, num3 배열에 저장된 요소의 최대값을 출력하시오
		
		// sol 1) 조건식으로만 풀었을 때
		int[] num3 = {56, 39, 89};
		if(num3[0] > num3[1] && num3[0] > num3[2]) {
			int max = num3[0];
			System.out.println("max = " + max);
		} else if(num3[1] > num3[2]) {
			int max = num3[1];
			System.out.println("max = " + max);
		} else {
			int max = num3[2];
			System.out.println("max = " + max);
		}
		
		// sol 2) 반복문으로 풀었을 때
		int[] num3_1 = {39, 23, 56, 152, 59, 96, 85};
		int max2 = num3_1[0];
		
		for(int k = 0; k < num3_1.length; k++) {
			if(max2 < num3_1[k]) {
				max2 = num3_1[k];
			}
		}
		System.out.println("max = " + max2);
		
		// sol 3) 함수 사용
		int max3 = 0;
		for(int m : num3_1) max3 = Math.max(m, max3);
		
		System.out.println("max = " + max3);
			
		// 문제4, num4 배열에 저장된 요소의 홀수와 짝수의 합을 각각 구하시오
		
		int[] num4 = {39, 23, 56, 59, 96, 85};
		int even = 0; // 짝수의 합
		int odd = 0; // 홀수의 합
		
		for(int n = 0; n < num4.length; n++) {
			if(num4[n] % 2 == 0) {
				even += num4[n];
			} else {
				odd += num4[n];
			}
		}
		System.out.println("짝수의 합 = " + even);
		System.out.println("홀수의 합 = " + odd);
	}
}
profile
개린이의 개발 고수되기 작전!

0개의 댓글