Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

이지은님의 블로그

241218 - Java 단어맞추기, 가위바위보 구현과 오류 해결(Char형의 null) 본문

TIL

241218 - Java 단어맞추기, 가위바위보 구현과 오류 해결(Char형의 null)

queenriwon3 2024. 12. 18. 18:18

▷ 오늘 하루 계획

오늘은 java달리기반 사전 퀘스트를 마무리 했다. 블로그를 쓰기 위해 많은 시간을 쓴 것 같긴하다. 그래도 내일부터는 제공된 코딩테스트 내용을 맛보기만이라도 살펴볼 수 있을 것 같다. 그리고 인텔리제이 학습환경을 앞으로 계속 사용할 예정이므로 학습환경을 구현하는 것도 잊지 말아야겠다.

 

 

▷ 오늘 배운 것

Lv3. 단어 맞추기 게임

 

[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인 줄 알았는데, 차이가 있었다. 

 

  1. char[]: 기본 값은 '\0'이며, null 값을 사용할 수 없으므로 초기화를 위해 특별한 문자 값을 지정해 사용해야 한다.
  2. Character[]: 객체 타입으로 null을 사용할 수 있으므로 초기화 상태를 보다 명확하게 표현 가능하다.

그러므로 char[] c[i] != null 이라고 하면 안되고, char[] c[i] !='\0'라는 방식으로 문자를 비교해야한다. 반면 Character자료형일 경우에는 Character[] c[i] != null 과 같이 비교가 가능하다.

 

 

 

▷ 앞으로

오늘 공부 한 문제의 코드를 최적화(메모리 최적화 등...) 한다면 할 수 있을 것 같다. 앞으로 코드를 최적화 할 수 있는 방법을 조금씩 익혀야 겠다고 생각했다. 코드작성과 동시에 메모리를 아끼는 방법을 동시에 생각할 수 있으면 좋을 것 같다.