배열 선언/초기화 연습

여러 형태의 배열 생성

public class ArrayPractice {  
    public static void main(String[] args) {  
        // 정수 배열을 선언·생성·초기화한다.  
        long[] positions = {140, 20, -530, 4, 57};  
        
        // 문자열 배열을 선언·생성·초기화한다.  
		String[] names;  
		names = new String[]{"Rian Johnson", "Daisy Ridley", "Chloe Grace Moretz"};
    }  
}

배열 순회 연습

for, enhanced for 사용

public class ArrayPractice {  
    public static void main(String[] args) {  
        // 정수 배열을 선언·생성·초기화한다.  
        long[] positions = {140, 20, -530, 4, 57};  
  
        // 배열의 모든 요소를 순회하며 출력한다. (for 문)
        for (int i = 0; i < positions.length; i += 1) {  
            System.out.printf("%d ", positions[i]); // 140 20 -530 4 57   
}  
  
        // 배열의 모든 요소를 순회하며 출력한다. (향상된 for 문)  
        for (long p: positions) {  
            System.out.printf("%d ", p); // 140 20 -530 4 57  
        }  
    }  
}

문자열 처리 연습

문자열 결합/분할 예제 작성

public class StringPractice {  
    public static void main(String[] args) {  
        String raw = "Rian Johnson, Daisy Ridley, Chloe Grace Moretz, Oscar Isaac, Domhnall Gleeson, Johnson Rian";  
  
        // ', ' 구분자를 기준으로 문자열을 분할하여 문자열 배열을 얻는다.  
        String[] names = raw.split(", ");  
  
        // 문자열 배열의 각 요소를 결합하여 ' | '를 구분자로 한 단일 문자열을 생성하고 출력한다.  
        StringBuilder sb = new StringBuilder();  
  
        for (String name: names) {  
            sb.append(name);  
            sb.append(" | ");  
        }  
  
        String result = sb.toString();  
  
        System.out.println(result.substring(0, result.length() - 3));  
        // Rian Johnson | Daisy Ridley | Chloe Grace Moretz | Oscar Isaac | Domhnall Gleeson | Johnson Rian
    }  
}

점수 입력 로직 구현, 통계 계산 로직 구현, 조건 통계 구현

설명

  • 사용자 입력 → 배열 저장
  • 합계/평균/최대/최소 계산
  • 평균 이상/미만 카운트
package mission03;  
  
import java.util.ArrayList;  
import java.util.Scanner;  
  
public class ScoreManager {  
    public static void main(String[] args) {  
        Scanner sc = new Scanner(System.in);  
  
        // 학생들의 점수를 ','로 구분한 문자열을 입력받아 ArrayList에 저장한다.  
  
        System.out.print("학생들의 점수를 쉼표로 구분해 입력하세요 (예: 100,24,72): ");  
        String raw = sc.next();  
  
        ArrayList<Long> scores = new ArrayList<>();  
  
        for (String score : raw.split(",")) {  
            scores.add(Long.parseLong(score));  
        }  
  
        // 저장된 점수에 대한 합계, 평균, 최댓값, 최솟값을 구하고 출력한다.  
  
        long sum = 0;  
        long maximum = scores.get(0);  
        long minimum = scores.get(0);  
  
        for (long score : scores) {  
            sum += score;  
            if (maximum < score) {  
                maximum = score;  
            }  
            if (minimum > score) {  
                minimum = score;  
            }  
        }  
  
        long average = sum / scores.size();  
  
        System.out.printf("합계: %d\n", sum);  
        System.out.printf("평균: %d\n", average);  
        System.out.printf("최댓값: %d\n", maximum);  
        System.out.printf("최솟값: %d\n", minimum);  
  
        // 평균 이상/미만인 학생 수를 계산하여 출력한다.  
  
        long overAverageCount = 0L;  
        long underAverageCount = 0L;  
  
        for (long score : scores) {  
            if (score >= average) {  
                overAverageCount += 1;  
            } else {  
                underAverageCount += 1;  
            }  
        }  
  
        System.out.printf("평균 이상 학생 수: %d\n", overAverageCount);  
        System.out.printf("평균 미만 학생 수: %d\n", underAverageCount);  
  
        sc.close();  
    }  
}