티스토리 뷰
Result
영화
개
Main.java
public class Main {
public static void main (String[] args) {
WordDic dictionary = new WordDic();
dictionary.addWord("Movie", "영화");
dictionary.addWord("cat", "고양이");
dictionary.addWord("dog", "개");
System.out.println(dictionary.find("movie"));
System.out.println(dictionary.find2("Dog"));
}
}
WordDic.java
일급콜렉션 (First-class Collection) 으로 구현
import java.util.HashMap;
import java.lang.Character;
public class WordDic {
// 해시맵 인스턴스 생성 => 클래스에서 인스턴스를 생성한다는 것이, 결국 그 클래스로 인스턴스를 생성할때도 적용된다는것인지??
// private으로 설정하여 같은 패키지 내의 다른 클래스의 접근을 막음
private HashMap<String, String> myDic = new HashMap<>();
// 단어를 추가하는 메서드
public void addWord(String eng, String kor) {
myDic.put(eng, kor);
}
// 한국어 뜻을 찾는 메서드
public String find(String myKey) {
// 대소문자 상관 없어야
// 문자열 값이 없을 때 문자열의 첫글자가 소문자면 대문자로, 대문자면 소문자로 바꿔서 다시 검색
if (myDic.get(myKey) == null) {
// charAt() 메소드를 사용하여 char 가져오기
Character firstChar = myKey.charAt(0);
// 문자열을 캐릭터 배열로
char[] chars = myKey.toCharArray();
// 첫 캐릭터가 대문자면
if (Character.isUpperCase(firstChar)) {
// 0번 인덱스를 교체
chars[0] = Character.toLowerCase(firstChar);
} else {
chars[0] = Character.toUpperCase(firstChar);
}
// 캐릭터 배열을 다시 문자열로 전환
String myNewKey = String.valueOf(chars);
// 검색
return myDic.get(myNewKey);
}
return myDic.get(myKey);
}
// 한국어 뜻을 찾는 메서드2
public String find2(String myKey) {
// 대소문자 상관 없어야
// 해시맵의 키를 순회
for (String word:myDic.keySet()) {
// 만약 키를 소문자로 바꾼것이 파라미터를 소문자로 바꾼 스트링과 같다면
// 해당 키로 값을 찾아서 반환
if (word.toLowerCase().equals(myKey.toLowerCase())) {
return myDic.get(word);
}
}
// 그래도 답이 없다면 null을 반환
return null;
}
}
'Java' 카테고리의 다른 글
String , Math, Random Class (0) | 2021.12.31 |
---|---|
Class Random, Class Math (0) | 2021.12.31 |
[Java] 클래스 메서드 (Math 클래스 메서드) (0) | 2021.12.30 |
[Java] Scanner (0) | 2021.12.30 |
[Java] 숫자의 길이 구하기 (0) | 2021.12.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발자로드맵
- 개발자도서추천
- 한글무료폰트추천
- 폰트추천
- 폰트
- 임대차3법
- 깃허브계정
- 개발도서추천
- 상업용무료폰트
- 개발언어추천
- ssafy6기
- intj여자
- 무료폰트추천
- 싸피
- 클린코드
- 개발자커리
- 디즈니얼굴
- 클린코더
- ssafy후기
- 코딩도서
- SSAFY
- 브왈라
- 개발언어순위
- ssafy결과
- 싸피6기
- 개발자
- 개발자책추천
- 깃허브계정2개
- ssafy합격후기
- 맥과윈도우로깃허브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함