My Melody Is Cute 자막순화프로그램
본문 바로가기

실습👁️‍🗨️/연습

자막순화프로그램

음 최소한으로 만들었는데

메서드분리는 아직 잘 모르겠다.....ㅠㅠ

스캐너를 추가하고 로그인 코드를 만든 후에 

금칙어랑 대체단어를 빼내는 코드를 만들었는데

문자열을 대체해주는 메서드가 있는지 몰랐다,,

 

입력받은 값으로 아이디 검증하는 부분이랑

문자를 대체해주는 메서드를 몰라서 조금 헤맨거같다

 

이건 예시로 틀이 짜여져있는 상태에서 만드는거지만....

나~~~중에 아무것도 없는 상태에서는 어떻게 코드를 만들지?????

나중가면 다들 그냥 만들수있게 되는걸까??

아직은 처음에 어떤 위치에 어떤 구성코드를 먼저 넣어야하는지 고민이다

정말 챗gpt는 좋은 칭구친구다 영어로 변수명 추천을 너무 잘해준다,,,ㅎㅎㅎ

 

package com.codestates;

import java.util.Scanner;

/**
 * `static` 키워드는 이 후 유닛에서 학습하므로, `static` 키워드를 추가하면 객체 생성 전 초기화된다라고 이해하고 넘어가세요.
 * 본 프로그램의 금칙어 리스트를 배열로 정의합니다.
 */
public class YoutubeSubtitlePolishApplication {
    // 관리자 ID와 비밀번호 초기화
    private final static String ADMIN_ID = "admin";
    private final static String ADMIN_PASSWORD = "0000";

    /**
     * 금칙어와 금칙어 대체 단어 목록
     * - 배열의 index에 해당 하는 금칙어를 동일한 index의 대체 단어로 바꿀 수 있다고 가정합니다.
     * 예)
     * - "킹" -> "열"
     * - "시발" -> "사랑"
     * - "꺼져" -> "용기"
     * - "미친" -> "희망"
     */
    private static String[] forbiddenWords = {"킹", "시발", "꺼져", "미친"};
    private static String[] replaceWords = {"열", "사랑", "용기", "희망"};

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); //입력받기

        System.out.println("[시스템] 유튜브 계정의 아이디를 입력하세요.");
        String userId = scanner.nextLine(); //입력받은 값을 변수userId에 저장, 유효한 아이디인지 판단

        System.out.println("[시스템] 유튜브 계정의 비밀번호를 입력하세요.");
        String userPassword = scanner.nextLine();

         if( userId.equals(ADMIN_ID) && userPassword.equals(ADMIN_PASSWORD)){
            System.out.println("[안내] 안녕하세요 " + userId +"님.");
            System.out.println("[안내] 유튜브 영상의 자막을 생성해주세요.");
            String subtitleText = scanner.nextLine();
            System.out.println(subtitleText);

             for ( int i = 0; i< forbiddenWords.length; i++) { // i가 0부터 하나씩 배열의 요소에 접근
                 subtitleText = subtitleText.replace(forbiddenWords[i], replaceWords[i]);
                 // replace() 문자열에서 특정 문자열을 다른 문자열로 대체
             } System.out.println("=".repeat(30));
                 System.out.println("[알림] 프로그램의 금칙어 리스트입니다.");
                 System.out.println("[킹, 시발, 꺼저, 미친]");
              System.out.println("=".repeat(30));
                 System.out.println("[알림] 자막 순화 프로그램 결과입니다.");
                 System.out.println(">>> " + subtitleText);
                 System.out.println("[안내] 프로그램을 종료합니다.");

           }else {
             System.out.println("[경고] 유튜브 계정의 아이디 및 비밀번호를 다시 확인해 주세요.");
         }

    }
}