본문 바로가기
미니 프로젝트

글자 대체 프로그램 - 배열, for 반복문

by shyun00 2023. 3. 11.

사용자로부터 입력받은 문자열에 특정 단어가 있을경우 대체어로 변경하여 출력하는 코드를 작성해보았다.

 

<주요기능>

1. 관리자 로그인 -> 입력한 아이디와 패스워드가 일치해야 다음 단계로 넘어가며 틀릴 경우 프로그램을 종료함

2. 문자열 입력받기

3. 해당 문자열에 특정 단어(이번 코드에서는 비속어)가 있을 경우 대체어로 변경하여 출력

 

import java.util.Arrays;
import java.util.Scanner;

public class YoutubeSub {
    // 관리자의 아이디와 비밀번호 선언 및 초기화. 변하지 않는 값이므로 final 설정.
    static final String id = "admin";
    static final int pw = 0000;
    static String inputSub;

    static String[] prohibitedWords = {"미친", "나쁜놈", "사라져", "열받아"}; // 금칙어 리스트. static
    static String[] subWords = {"희망", "좋은사람", "용기", "화나"}; // 대체어 리스트. static

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

        System.out.println("[시스템] 유튜브 계정의 아이디를 입력하세요 {Ex - admin} : ");
        String inputId = scanner.nextLine();
        System.out.println("[시스템] 유튜브 계정의 비밀번호를 입력하세요{Ex - 0000} : ");
        int inputPw = scanner.nextInt();
        scanner.nextLine(); // 개행 문자(\n) 제거

        // 로그인 기능 : 아이디와 비밀번호 일치하는지 조건문 통해서 확인
        if (id.equals(inputId) && pw == inputPw) {
            System.out.println("[안내] 안녕하세요 admin님.");
            System.out.println("[안내] 유튜브 영상의 자막을 생성해 주세요.");

            inputSub = scanner.nextLine();
            System.out.println("=".repeat(30));

            for (int i = 0; i < prohibitedWords.length; i++) {
                inputSub = inputSub.replace(prohibitedWords[i], subWords[i]);
            } // 금지된 단어가 있을 경우 대체어로 변경함 String 클래스의 replace()를 활용

            System.out.println("[알림] 프로그램의 금칙어 리스트입니다.");
            System.out.println(Arrays.toString(prohibitedWords)); // Arrays.toString()을 통해 배열 출력
            System.out.println("=".repeat(30));

            System.out.println("[알림] 자막 순화 프로그램 결과입니다.");
            System.out.println(">>> " + inputSub);
        } else {
            System.out.println("[경고] 유튜브 계정의 아이디 및 비밀번호를 다시 확인해 주세요.");
        }
        System.out.println("프로그램을 종료합니다.");
    }
}