휴먼교육센터 개발자과정 21일차

조하영·2022년 8월 29일
0

반복문 복습

package Tr;

public class Day04_01 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	// 문제1. 1부터 100까지 합한값을 출력하세요.
	int sum = 0;
	for (int i = 0; i <= 100; i++) {
		sum += i;
	}
	System.out.println(sum);

	// 문제2. 1부터 100까지 홀수를 모두 카운팅하세요.
	int cnt = 0;
	for (int i = 0; i <= 100; i++) {
		if (i % 2 == 1) {
			cnt++;
		}
	}
	System.out.println(cnt);

	// 문제3.1부터 100까지 중 홀수만 출력하시오.
	for (int i = 0; i <= 100; i++) {
		if (i % 2 == 1) {
			System.out.println(i);
		}
	}
	// 문제4. 1부터 100까지 중 홀수는 더하고 짝수는 빼는 결과를 출력하시오.
	int sum1 = 0;
	for (int i = 1; i <= 100; i++) {
		if (i % 2 == 0) {
			sum1 -= i;
		} else {
			sum1 += i;
		}

	}
	System.out.println(sum1);

	// 문제5. 1부터 100까지 숫자 중 3의 배수를 모두 더하시오.
	int sum3 = 0;
	for (int i = 1; i <= 100; i++) {
		if (i % 3 == 0) {
			sum3 += i;
		}
	}
	System.out.println("3의 배수의 합:" + sum3);
	// 문제6. 1부터 100까지 숫자중 4의 배수의 총합과 갯수를 각각 구하시오.
	int sum4 = 0;
	int cnt4 = 0;
	for (int i = 1; i <= 100; i++) {
		if (i % 4 == 0) {
			sum4 += i;
			cnt4++;
		}
	}
	System.out.println("4의 배수의 합:" + sum4);
	System.out.println("4의 배수의 갯수:" + cnt4);

	// 문제7. 1부터 100까지 숫자중 3의 배수의 합과 2의 배수의 갯수를 각각 구하시오.
	int sum5 = 0;
	int cnt5 = 0;
	for (int i = 1; i <= 100; i++) {
		if (i % 2 == 0) {
			cnt5++;

		}
		if (i % 3 == 0) {
			sum5 += i;
		}
	}
	System.out.println("3의 배수의 합:" + sum5);
	System.out.println("2의 배수의 갯수:" + cnt5);
}

}

반복문과 배열

package Tr;

public class Day04_02 {

public static void main(String[] args) {
	// 반복문과 배열
	int[] a = new int[5];
	int[] b = { 44, 54, 23, 12, 45, 76 };

	// b배열에서 2번째 방의 값은?
	// b[1]
	// b배열에서 2번째 방의 값을 출력하시오.
	System.out.println(b[1]);
	// b배열에서 2번째 방의 값에 100을 입력하시오.
	// b[1]=100;

	// 문제1. a배열 2번째 값에 b배열 3번째 인덱스의 값을 저장.
	a[1] = b[2];

	// 문제2. b배열 2번째 인덱스에 자신의 값(b배열 2번째 인덱스)에 10을 더한 값을 저장.
	b[1] += 10;

	// 문제3. b배열 3번째 인덱스의 값을 1증가시켜서 저장.
	b[2] = ++b[2];

	// 문제4. a배열에서 4번 인덱스의 값에 10을 저장하여 출력.
	a[4] = 10;
	System.out.println(a[4]);

	// 문제5. b배열에서 마지막에 저장된 값을 1증가시켜서 a배열 마지막 값에 저장한다.
	// 단 b배열 마지막 값은 변경되지 않아야 한다.
	a[4] = b[5] + 1;

	// 문제6. 문제 5번에서 b배열의 마지막 값도 조건에 따라 변경된다.
	a[4] = ++b[5];

	// 문제7. b배열 인덱스 2번과 3번을 합한 값을 콘솔에 출력하시오.( 단 배열에 저장된 값은 변경되면 안됨.)
	System.out.println(b[2] + b[3]);
}

}

오후 실습

package Test;

public class Day04_01 {

public static void main(String[] args) {
	// TODO Auto-generated method stub

// 1.배열의 모든 값에 10을 입력하세요.

	int[] a = new int[10];
	for (int i = 0; i < a.length; i++) {
		a[i] = 10;
	}

// 2. 배열의 모든 값을 출력하시오.

	for (int i = 0; i < a.length; i++) {
		System.out.println(a[i]);
	}
	System.out.println("--------------------------");
    

// 3. 배열의 값에 0 1 2 3 4 5 6 7 8 9 를 입력하고 출력하시오.
// (단 for문 2개로 해결하시고, for문 2개는 다음과 같습니다)
// 입력하는 for, 출력하는 for

	for (int i = 0; i < a.length; i++) {
		a[i] = i;
	}

	for (int i = 0; i < a.length; i++) {
		System.out.println(a[i]);
	}
	System.out.println("--------------------------");
    

// 4. 배열의 값에 9 8 7 6 5 4 3 2 1 0 을 입력하고 출력하시오 . for문 2개

	for (int i = 0; i < a.length; i++) {
		a[i] = (a.length-1) - i;
	}

	for (int i = 0; i < a.length; i++) {
		System.out.println(a[i]);
	}

// 5. 값이 짝수인 경우 값을 출력하시오.

	int[] b = { 23, 45, 23, 56, 75, 56 };
	for (int i = 0; i < b.length; i++) {
		if (b[i] % 2 == 0) {
			System.out.println(b[i]);
		}
	}
	System.out.println("--------------------------");

// 6. 값이 짝수인 경우 짝수 값은 갖는 인덱스를 출력하시오.

	for (int i = 0; i < b.length; i++) {
		if (b[i] % 2 == 0) {
			System.out.println(i);
		}
	}
   
	System.out.println("--------------------------");

// 7. 최고 값을 갖고 있는 인덱스 번호를 출력하시오.

	int max = 0;
	int idxNo = 0;
	for (int i = 0; i < b.length; i++) {
		if (max < b[i]) {
			max = b[i];
			idxNo = i;
		}
	}
	System.out.println(idxNo);
	System.out.println("--------------------------");

// 8. 모든 값을 1씩 증가시키시오.

	for (int i = 0; i < b.length; i++) {
		b[i]++;
	}

// 9. 빈칸을 0이라고 가정한다. 빈칸의 값을 가진 인덱스 번호를 출력하세요.

	int[] b2 = { 23, 45, 0, 58, 75, 0 };
	for (int i = 0; i < b2.length; i++) {
		if (b2[i] == 0) {
			System.out.println(i);
		}
	}
	System.out.println("--------------------------");

// 10. 다음조건에 따라 오름차순으로 저장되게 정렬하시오.
// 1. 가장큰 값을 찾아서 맨뒤 값에 저장한다.
// 2. 두번째로 큰 값을 찾아서 맨뒤에서 두번째 자리에 저장한다.
// 정렬이 될때 까지 반복한다.

// 1.이중 for문

	int[] b3 = { 93, 45, 23, 58, 75, 56 };
	int min1 = 0;
	int max1 = 0;
	for (int i = 0; i < b3.length; i++) {
		for (int k = 0, j = 1; j < b3.length; j++, k++) {
			if (b3[k] > b3[j]) {
				max1 = b3[k];
				min1 = b3[j];
				b3[k] = min1;
				b3[j] = max1;
			}
		}

	}
	for (int i = 0; i < b3.length; i++) {
		System.out.println(b3[i]);
	}
	System.out.println("--------------------------");

// 2. for문 6번

	int k = 0;
	for (int j = 1; j < b3.length; j++) {

		if (b3[k] > b3[j]) {
			max1 = b3[k];
			min1 = b3[j];
			b3[k] = min1;
			b3[j] = max1;

		}
		k++;
	}
	int k1 = 0;
	for (int j = 1; j < b3.length; j++) {

		if (b3[k1] > b3[j]) {
			max1 = b3[k1];
			min1 = b3[j];
			b3[k1] = min1;
			b3[j] = max1;

		}
		k1++;
	}
	int k2 = 0;
	for (int j = 1; j < b3.length; j++) {

		if (b3[k2] > b3[j]) {
			max1 = b3[k2];
			min1 = b3[j];
			b3[k2] = min1;
			b3[j] = max1;

		}
		k2++;
	}
	int k3 = 0;
	for (int j = 1; j < b3.length; j++) {

		if (b3[k3] > b3[j]) {
			max1 = b3[k3];
			min1 = b3[j];
			b3[k3] = min1;
			b3[j] = max1;

		}
		k3++;
	}
	int k4 = 0;
	for (int j = 1; j < b3.length; j++) {

		if (b3[k4] > b3[j]) {
			max1 = b3[k4];
			min1 = b3[j];
			b3[k4] = min1;
			b3[j] = max1;

		}
		k4++;
	}
	int k5 = 0;
	for (int j = 1; j < b3.length; j++) {

		if (b3[k5] > b3[j]) {
			max1 = b3[k5];
			min1 = b3[j];
			b3[k5] = min1;
			b3[j] = max1;

		}
		k5++;
	}

	for (int i = 0; i < b3.length; i++) {
		System.out.println(b3[i]);
	}
    

// 11. carnum배열의 인덱스가 0부터 주차장에 들어온다.
// parking의 인덱스 번호가 주차번호이다.
// 자동차 번호의 마지막 번호는 해당 차량이 주차할 주차번호이다.
// 만약 주차번호에 다른 차량이 주차되어 있으면 다음 주차번호에 주차를 한다.9번 다음은 0번
// (이때, 다음 주차번호에도 차량이 있으면 주차불가이다. 예제는 이와 같은 상황이
// 안 나오므로 고려하지 않아도됨)
// 주차가 끝난 후 주차번호와 주차항 차량 번호를 출력하시오.

	int[] carnum = { 1232, 1221, 1235, 1252, 1234, 4536, 3457, 3238, 3229, 2599 };
	int[] parking = new int[10];

	for (int i = 0; i < carnum.length; i++) {
		if (parking[carnum[i] % 10] == 0) {
			parking[carnum[i] % 10] = carnum[i];
		} else if (parking[carnum[i] % 10] != 0) {
			parking[(carnum[i] % 10 + 1) % 10] = carnum[i];
		}
	}

	for (int i = 0; i < parking.length; i++) {
		System.out.println(i + ":" + parking[i]);

	}

}

}

profile
공부하는 개발자

0개의 댓글