JAVA

자바 배열과 문자열 실습 예제 모음 🔍|모음 개수 세기부터 배열 평균까지

코딩 코디네이터 2025. 6. 13. 09:00
반응형

자바 배열과 문자열 실습 예제 모음 🔍|모음 개수 세기부터 배열 평균까지

배열과 문자열, 자바에서 가장 자주 쓰이는 두 가지를 한 번에 실습해볼 수 있는 기회! 자바 초보자분들, 지금 이 실습으로 개념 정리하고 실력도 키워보세요 😊

반응형

안녕하세요! 오늘은 자바(Java)의 핵심 중 하나인 배열과 문자열 처리를 실제 코딩 예제를 통해 익혀보는 시간을 가져보려 합니다. 우리가 자바를 배우면서 가장 처음 만나게 되는 자료형 중 하나가 바로 문자열과 배열이죠. 각각 따로 배웠던 개념을 이번에는 한 번에 묶어서, 모음 개수 세기, 배열 요소 평균 및 최대값 구하기 같은 간단하면서도 꼭 필요한 예제를 실습해볼 거예요. 복잡한 알고리즘보다 자바 문법을 자연스럽게 익히는 데에 초점을 맞췄으니, 특히 자바 입문자라면 끝까지 따라와 보세요! 그럼 시작해볼까요? 😎

1. 문자열에서 모음 개수 세기 🅰️

프로그래밍을 시작하면 누구나 한 번쯤은 만나게 되는 문자열 처리 문제! 그중에서도 가장 기본적인 문제 중 하나가 바로 모음 개수 세기입니다. 이 문제는 문자열 순회, 조건문, 문자 비교 등의 다양한 개념을 복습할 수 있는 아주 유용한 예제예요.

예제 코드: 문자열에서 모음 개수 찾기


public class VowelCounter {
    public static void main(String[] args) {
        String input = "Java is Awesome!";
        int count = 0;
        char[] vowels = {'a', 'e', 'i', 'o', 'u'};

        for (int i = 0; i < input.length(); i++) {
            char ch = Character.toLowerCase(input.charAt(i));
            for (char v : vowels) {
                if (ch == v) {
                    count++;
                    break;
                }
            }
        }

        System.out.println("모음 개수: " + count);
    }
}

이 코드는 문자열 input에서 모음을 찾아 그 개수를 출력하는 간단한 예제입니다. Character.toLowerCase()로 대소문자 구분을 없애고, 배열 vowels로 모음을 비교해요.

💡 꼭 기억할 개념 정리

  • charAt(i)로 문자열에서 한 글자씩 꺼낼 수 있어요
  • Character.toLowerCase()를 사용해 대소문자를 무시하고 비교 가능
  • 배열을 이용하면 다수의 조건을 한 번에 비교할 수 있어서 코드가 간결해져요

📌 연습 문제 팁

문자열에 포함된 자음 개수도 세보는 응용 문제를 스스로 만들어 보는 것도 추천드려요! 조건문 익히기에 아주 좋아요.

2. 배열 요소의 평균과 최대값 구하기 📊

이번에는 배열(Array)을 활용한 실습으로 넘어가볼게요. 실생활에서 자주 쓰이는 배열 처리 중 가장 기본은 평균 구하기최대값 찾기입니다. 자바에서 반복문과 조건문을 어떻게 활용하는지 익힐 수 있는 좋은 기회죠!

예제 코드: 배열 평균과 최대값 구하기


public class ArrayStats {
    public static void main(String[] args) {
        int[] scores = {70, 85, 90, 65, 100};
        int sum = 0;
        int max = scores[0];

        for (int score : scores) {
            sum += score;
            if (score > max) {
                max = score;
            }
        }

        double average = (double) sum / scores.length;

        System.out.println("배열 평균: " + average);
        System.out.println("최대값: " + max);
    }
}

이 코드는 정수 배열 scores에서 전체 합계를 구하고, scores.length로 나눠 평균을 계산합니다. 동시에 if 조건문을 이용해 최대값도 찾고 있죠. 반복문 하나로 두 가지 처리를 함께 할 수 있어 효율적입니다!

📌 꼭 짚고 넘어가야 할 포인트

  • scores.length는 배열의 크기를 동적으로 알 수 있어서 매우 유용해요
  • max = scores[0]처럼 배열의 첫 요소로 초기화해 놓고 비교하는 방식은 자주 사용돼요
  • 평균을 구할 때 (double) 형변환을 하지 않으면 정수형으로 잘려나가요!

💬 잠깐! 이런 실수 조심하세요

sum / scores.length처럼 계산하면 결과가 정수로 나와서 평균이 잘못될 수 있어요. 꼭 double 형변환을 해주세요!

실제로 실무에서도 평균과 최대값 구하는 로직은 통계나 데이터 처리 등 여러 분야에서 빈번하게 활용돼요. 그러니까 이번 기회에 확실하게 익혀두는 걸 추천드립니다 😊

3. 문자열과 배열을 함께 활용하는 팁 💡

앞서 각각 실습한 문자열 처리와 배열 연산을 이제는 하나의 프로그램에 통합해볼 시간이에요. 왜냐하면, 실제 개발을 하다 보면 문자열을 배열로 바꾸거나, 배열을 이용해 문자열을 가공하는 일이 정말 많거든요. 그러니까 두 가지를 동시에 다루는 감각을 익히는 게 중요해요.

예제 코드: 문자열을 배열로 변환하여 처리


public class CharArrayDemo {
    public static void main(String[] args) {
        String message = "Hello Java";
        char[] chars = message.toCharArray();

        int vowelCount = 0;
        for (char c : chars) {
            if ("aeiouAEIOU".indexOf(c) != -1) {
                vowelCount++;
            }
        }

        System.out.println("문자열 길이: " + chars.length);
        System.out.println("모음 개수: " + vowelCount);
    }
}

위 예제에서는 String.toCharArray()를 사용해서 문자열을 문자 배열로 바꾸고, 이를 반복문으로 순회하면서 모음을 체크했어요. 문자열과 배열을 자유롭게 오가며 사용하는 연습을 해보는 데 아주 좋죠!

🔍 자주 쓰이는 String ↔ Array 변환

변환 방향 사용 메서드 예시
문자열 → 문자 배열 toCharArray() "abc".toCharArray()
문자열 → 문자열 배열 split() "a,b,c".split(",")
문자 배열 → 문자열 new String(char[]) new String(chars)

자바에서 문자열과 배열은 서로 변환이 자유롭기 때문에, 이 개념을 정확히 알고 있어야 응용력이 높아집니다!

이제 실습에서 문자열과 배열을 어떻게 함께 활용하는지 감이 오셨죠? 그럼 다음 섹션에서는 직접 실습 프로젝트를 진행해보면서 개념을 굳혀볼게요 💪

4. 실습 예제 따라 해보기 ✍️

지금까지 배운 내용을 한데 모아, 실제 프로그램을 만들어 볼 시간이에요. 이번 실습은 다음 두 가지 기능을 한 번에 구현해보는 거예요:

  • 사용자에게 문자열 입력을 받아 모음 개수를 세기
  • 숫자 배열을 만들어 평균과 최대값을 출력

실습 코드 전체 예시


import java.util.Scanner;

public class CombinedPractice {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 문자열 처리: 모음 개수 세기
        System.out.print("문자열을 입력하세요: ");
        String input = scanner.nextLine();
        int vowelCount = 0;
        for (char ch : input.toCharArray()) {
            if ("aeiouAEIOU".indexOf(ch) != -1) {
                vowelCount++;
            }
        }
        System.out.println("모음 개수: " + vowelCount);

        // 배열 처리: 평균과 최대값
        int[] nums = {15, 29, 31, 8, 22};
        int sum = 0;
        int max = nums[0];
        for (int num : nums) {
            sum += num;
            if (num > max) {
                max = num;
            }
        }
        double average = (double) sum / nums.length;
        System.out.println("배열 평균: " + average);
        System.out.println("배열 최대값: " + max);

        scanner.close();
    }
}

이 예제에서는 사용자에게 문자열을 입력받고, Scanner 클래스를 이용해 모음 개수를 출력합니다. 이어서 정해진 배열에서 평균과 최대값도 함께 출력하는 복합 실습이에요.

💎 실습을 더 풍부하게 만드는 꿀팁

  1. 입력받은 문자열에서 자음 개수도 세보세요
  2. 배열을 사용자 입력으로 만들어보세요
  3. 최소값도 함께 구해보면 더 좋겠죠?

단순한 실습 같지만, 이 안에 조건문, 반복문, 배열, 문자열, 입력 처리까지 자바의 핵심 문법이 모두 담겨 있어요!

5. 초보자가 자주 하는 실수와 해결법 🛠️

코딩 실습을 하다 보면 사소한 실수 하나 때문에 실행이 안 되거나, 원하는 결과가 나오지 않아 당황하는 경우가 많아요. 특히 배열과 문자열을 다룰 때는 자바 문법 특성상 주의해야 할 부분들이 꽤 있어요. 여기, 제가 직접 경험했던 실수와 그 해결법을 소개할게요 😅

1️⃣ 문자열 관련 실수

  • 대소문자 비교equals()를 쓰지 않고 == 사용 → 비교 오류 발생
  • toCharArray()를 쓰지 않고 문자열을 반복하려고 함 → charAt(i) 사용을 잊음

2️⃣ 배열 관련 실수

  • ArrayIndexOutOfBoundsException 발생 → 배열의 크기를 벗어나는 인덱스를 잘못 참조
  • max 초기화를 0으로 해버림 → 음수가 있는 배열일 경우 잘못된 최대값 도출

🚨 실수를 줄이기 위한 팁

  1. 문자열 비교는 항상 equals() 또는 equalsIgnoreCase() 사용
  2. 배열의 크기는 .length로 동적으로 확인
  3. 디버깅 시 System.out.println()을 자주 활용해보세요!

처음엔 실수하는 게 당연해요. 중요한 건 실수에서 배워서 코드를 점점 탄탄하게 다듬는 거랍니다 💪

6. 오늘의 실습 정리 및 다음 단계 안내 🔁

여기까지 따라오셨다면 정말 수고 많으셨습니다! 😊 오늘은 자바의 기본 중에서도 특히 중요한 문자열과 배열을 함께 다루는 실습을 통해, 이 두 자료형이 실제로 어떻게 연결되어 있는지를 실감해보셨을 거예요.

처음엔 어렵게 느껴졌던 charAt(), toCharArray(), for-each문, 그리고 if 조건문까지... 이제는 익숙해지셨겠죠? 코드는 많이 작성해볼수록 감이 생겨요. 오늘 만든 실습 예제를 기반으로 해서 여러분만의 프로그램도 만들어보면 훨씬 기억에 오래 남을 거예요.

🧭 다음에 해보면 좋은 연습

  • 문자열에서 자주 쓰이는 단어의 등장 횟수 세기 (ex. "the" 개수 세기)
  • 사용자 입력을 받아 정수 배열을 만들고, 최소값과 최대값 구하기
  • 문자열을 뒤집는 함수 구현해 보기 (배열로 변환한 후 처리)

이런 연습들이 쌓이면, 나중에 알고리즘 문제도 훨씬 쉽게 풀 수 있어요! 자바 기초 튼튼히 다지고, 자신감도 함께 쑥쑥 키워가시길 바랄게요 💙

다음 글에서는 StringBuilder를 활용해 문자열을 효율적으로 다루는 방법을 다룰 예정이니 기대해 주세요! 그럼 오늘도 멋진 코딩 하시고, 다음 글에서 또 만나요 🙌

🔚 마무리하며

오늘 포스팅에서는 자바 배열과 문자열을 활용해 꼭 필요한 실습 예제들을 살펴봤어요. 문자열에서 모음 개수를 세고, 배열에서 평균과 최대값을 구하는 간단한 예제지만, 이 안에 자바의 기본기가 다 담겨 있었죠.

코드를 직접 작성하고 출력해보며 ‘왜 이렇게 되는 걸까?’를 스스로 생각해보는 습관이 중요합니다. 실수해도 괜찮아요. 오히려 그 과정에서 얻는 게 더 많아요. 작은 실습에서 자신감을 얻고, 점점 더 큰 프로그램에 도전해보세요. 🙌

다음 포스트에서는 StringBuilder와 같이 성능 향상에 도움이 되는 문자열 클래스에 대해 더 자세히 알아볼 예정이에요. 블로그 구독하고 계속 함께 공부해요 💡

반응형