본문 바로가기

반응형

오전 수업 요약

1. 문자열 참조 비교 (== vs .equals())

strArray[0] = "Java";
strArray[2] = new String("Java");
  • == : 주소(참조) 비교
  • .equals() : 문자열 내용 비교
  • 결과:
    • strArray[0] == strArray[1] → true
    • strArray[0] == strArray[2] → false
    • strArray[0].equals(strArray[2]) → true

2. 향상된 for문 (for-each)

int[] x = {95, 71, 84, 93, 87};
for (int y : x) sum += y;
  • 배열 전체 반복을 간단하게
  • 평균 계산 실습

3. main 메서드의 인자 사용 (args[])

String str1 = args[0];
int num1 = Integer.parseInt(str1);
  • 실행 시 인자 2개 필요
  • 두 정수의 합 계산 및 출력
  • 입력값 없을 경우 종료 처리

오후 수업 요약 (실습 중심)

1. mission6 - 2차원 배열 구조 확인

static void mission6() {
		int[][] array = { { 95, 86 }, { 83, 92, 96 }, { 78, 83, 93, 87, 88 } };

		System.out.println("배열의 줄 : " + array.length);
		for (int i = 0; i < array.length; i++)
			System.out.println((i + 1) + "번째 배열의 칸 : " + array[i].length);

	}
int[][] array = { {95, 86}, {83, 92, 96}, {78, 83, 93, 87, 88} };

 

  • .length로 줄(행) 수와 칸(열) 수 확인
  • 출력 예:
배열의 줄 : 3
1번째 배열의 칸 : 2

 

2. mission7 - 최대값 구하기

static void mission7() {
		int array[] = { 1, 5, 3, 8, 2 }, max = 0;

		for (int num : array)
			if (num > max)
				max = num;

		System.out.println("max num : " + max);
	}
int[] array = {1, 5, 3, 8, 2};
  • 향상된 for문 사용
  • 조건문으로 최대값 판별

3. mission8 - 2차원 배열 총합 및 평균

static void mission8() {
		int array[][] = { { 95, 86 }, { 83, 92, 96 }, { 78, 83, 93, 87, 88 } }, sum = 0, count = 0;

		for (int i = 0; i < array.length; i++) {
			count += array[i].length;
			for (int j = 0; j < array[i].length; j++)
				sum += array[i][j];
		}

		System.out.println("점수의 전체 합 : " + sum);
		System.out.println("점수 전체의 평균 : " + (double) sum / count);
	}
  • 합산 및 요소 수 카운트 → 평균 출력
sum += array[i][j];
count += array[i].length;

4. mission9 - 학생 점수 관리 프로그램

static void mission9() {
		Scanner sc = new Scanner(System.in);
		String str;
		int count = 0, scores[] = null, sum = 0;

		while (true) {
			System.out.println("-".repeat(40));
			System.out.println("1. 학생수 | 2. 점수입력 | 3. 점수리스트 | 4. 분석 | 5. 종료");
			System.out.println("-".repeat(40));
			System.out.print("선택> ");
			str = sc.nextLine();

			if (str.equals("1")) {
				System.out.print("학생수> ");
				str = sc.nextLine();
				count = Integer.parseInt(str);
				scores = new int[count];
			} else if (str.equals("2")) {
				if (scores == null) {
					System.out.println("현재 정해진 학생 수가 없습니다.");
					continue;
				}

				for (int i = 0; i < scores.length; i++) {
					System.out.print("scores[" + i + "]>");
					str = sc.nextLine();
					count = Integer.parseInt(str);
					scores[i] = count;
				}
			} else if (str.equals("3")) {
				for (int i = 0; i < scores.length; i++)
					System.out.println("scores[" + i + "] : " + scores[i]);
			} else if (str.equals("4")) {
				for (int i : scores) {
					if (i > count)
						count = i;
					sum += i;
				}

				System.out.println("최고 점수 : " + count);
				System.out.println("평균 점수 : " + (double) sum / scores.length);
			} else if (str.equals("5"))
				break;
		}

		System.out.println("프로그램 종료");
	}
  • 메뉴 기능 구성:
    1. 학생 수 설정
    2. 점수 입력
    3. 점수 출력
    4. 최고 점수 및 평균 분석
    5. 종료
  • 입력/출력 및 예외 처리 포함

🧠 9일차 핵심 요약표

주제 내용
문자열 비교 == (참조), .equals() (내용)
향상된 for문 배열 반복 간단화
main 인자 외부 입력값 처리 및 타입 변환
2차원 배열 구조 확인, 평균 계산
실습 문제 최대값, 총합, 점수 분석 프로그램 구현

 

댓글