static final String ADMIN_ID = "admin";
static final String ADMIN_PW = "0000";
while (true) {
System.out.println("프로그램을 종료하려면 'exit'을 입력하세요.");
System.out.println("관리자 계정 아이디를 입력해주세요.(ID : admin)");
String loginId = sc.next();
System.out.println("관리자 계정 비밀번호를 입력해주세요.(PW : 0000)");
String loginPw = sc.next();
//exit을 입력하면 프로그램 종료
if (loginId.equals("exit") || loginPw.equals("exit"))
System.exit(1);
// 문자열 비교를 위해 equals() 활용
if (loginId.equals(ADMIN_ID) && loginPw.equals(ADMIN_PW)) {
System.out.println("관리자 계정으로 로그인되었습니다.");
break;
} else
System.out.println("아이디 혹은 비밀번호를 다시 확인해주세요.");
}
사용자의 입력을 받아 로그인
만약, 아이디, 혹은 비밀번호를 틀리게 입력하면 경고 문구를 출력 후 다시 while
문을 통해 처음 아이디 입력하는 곳으로 이동
프로그램을 종료하고 싶다면 exit 입력
ArrayList<String> forbiddenList = new ArrayList<>(Arrays.asList("씨발", "킹", "병신", "꺼져"));
ArrayList<String> purifiedList = new ArrayList<>(Arrays.asList("고마워", "열", "사랑해", "저리 가"));
Arrays.asList
를 이용해서 ArrayList 초기화System.out.println("자막을 입력해주세요.");
sc.nextLine();
String subtitle = sc.nextLine();
System.out.println("=".repeat(25));
System.out.println("금지어 리스트입니다.");
System.out.println(forbiddenList);
System.out.println("=".repeat(25));
for (int i = 0; i < forbiddenList.size(); i++) {
if (subtitle.contains(forbiddenList.get(i))) {
subtitle = subtitle.replace(forbiddenList.get(i), purifiedList.get(i));
}
}
System.out.println("순화된 자막입니다.");
System.out.println(subtitle);
contains
메서드를 통해 만약 금지어 리스트에 있는 단어를 자막이 포함하고 있다면 금지어를 순화어로 변경하는 for
문 작성System.out.println("금지어를 추가하시겠습니까? (Y/N)");
String forbiddenAdd = sc.next();
if (forbiddenAdd.equals("Y") || forbiddenAdd.equals("y")) {
System.out.println("=".repeat(25));
System.out.println("추가할 금지어를 입력해주세요.");
String forbiddenWord = sc.next();
forbiddenList.add(forbiddenWord);
System.out.println("금지어를 순화시킬 단어를 입력해주세요.");
String purifiedWord = sc.next();
purifiedList.add(purifiedWord);
System.out.println("금지어 추가가 완료되었습니다.");
System.out.println("=".repeat(25));
} else System.exit(1);
add
를 통해 forbiddenList
에 추가하고 추가한 금지어를 순화시킬 단어도 입력 받아 purifiedList
에 추가