이지은님의 블로그
241218 - Java 단어맞추기, 가위바위보 구현과 오류 해결(Char형의 null) 본문
▷ 오늘 하루 계획
오늘은 java달리기반 사전 퀘스트를 마무리 했다. 블로그를 쓰기 위해 많은 시간을 쓴 것 같긴하다. 그래도 내일부터는 제공된 코딩테스트 내용을 맛보기만이라도 살펴볼 수 있을 것 같다. 그리고 인텔리제이 학습환경을 앞으로 계속 사용할 예정이므로 학습환경을 구현하는 것도 잊지 말아야겠다.
▷ 오늘 배운 것
[JAVA] 달리기반 퀘스트 - Lv3. 단어 맞추기 게임
단어를 주어진 기회 안에 맞추는 게임을 만들어보세요컴퓨터가 랜덤으로 영어단어를 선택합니다.영어단어의 자리수를 알려줍니다.ex ) PICTURE = 7자리 ⇒ _ _ _ _ _ _ _사용자는 A 부터 Z 까지의 알파
queenriwon3.tistory.com
[JAVA] 달리기반 퀘스트 - 보너스 문제: 가위 바위 보
5번의 가위바위보 게임을 해서 승리한 횟수 상당의 상품을 받아가는 게임을 만들어봐요5번의 가위바위보를 진행합니다.유저는 매 판마다 “가위”, “바위”, “보” 중 하나를 입력합니다.잘
queenriwon3.tistory.com
오늘은 단어맞추기 게임과 가위바위보 게임을 구현했다.
구현한 과정은 모두 링크를 통해 참고하면 될 것 같다.
▷ 막혔던 점
The operator != is undefined for the argument type(s) char, nullJava(536871072)
단어 맞추기 게임을 구현하다가 다음 오류를 마주했다.
오류의 내용은 char 타입은 기본 자료형이므로 null 값을 가질 수 없다. 그래서 != 연산자로 char와 null을 비교할 수 없다라는 뜻이다.
그래서 char에서 null값을 표현해주기 위해서는 '\0'으로 비교해줘야한다는 것이다.
여기에 더해 char와 character의 비교까지 할 수 있었다. 처음에는 다 같은 char인 줄 알았는데, 차이가 있었다.
- char[]: 기본 값은 '\0'이며, null 값을 사용할 수 없으므로 초기화를 위해 특별한 문자 값을 지정해 사용해야 한다.
- Character[]: 객체 타입으로 null을 사용할 수 있으므로 초기화 상태를 보다 명확하게 표현 가능하다.
그러므로 char[] c[i] != null 이라고 하면 안되고, char[] c[i] !='\0'라는 방식으로 문자를 비교해야한다. 반면 Character자료형일 경우에는 Character[] c[i] != null 과 같이 비교가 가능하다.
▷ 앞으로
오늘 공부 한 문제의 코드를 최적화(메모리 최적화 등...) 한다면 할 수 있을 것 같다. 앞으로 코드를 최적화 할 수 있는 방법을 조금씩 익혀야 겠다고 생각했다. 코드작성과 동시에 메모리를 아끼는 방법을 동시에 생각할 수 있으면 좋을 것 같다.
'TIL' 카테고리의 다른 글
241220 - [알고리즘] 그리디 알고리즘 문제 풀이 탐구 (1) | 2024.12.20 |
---|---|
241219 - [알고리즘] 그리디 알고리즘 문제 풀이 탐구(동전 교환, 회의실 배정) (0) | 2024.12.19 |
241217 - Java 자판기 구현과 데이터 관리(Map, HashMap) (0) | 2024.12.17 |
241216 - Java 자료구조와 각 차이점(ArrayList, Vector, HashMap 활용) (0) | 2024.12.16 |
241213 - Java 자료구조 ArrayList, Vector, HashMap 요약 및 활용 (0) | 2024.12.13 |