틀린문제 오답노트.
문제 1 [문자열을 인자로 받는다의 의미]
문자열을 인자로 받아서 느낌표를 붙여서 리턴해주는 메서드 returnWordWithJoy가 있습니다. 메서드 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 호출하고, 그 결과값을 변수 word에 할당하세요.
코드:
정답:
초록색 위치에
word = returnWordWithJoy("I love coding");
word = returnWordWithJoy("I love coding"); 가 된다.
문제 2 [Java - Char를 Int로 변환하기]
문자(Character) 하나를 입력받아 알맞은 값(int)을 리턴합니다.
코드:
정답:
result = Character.getNumericValue(character);
result = character - '0';
틀린이유:
Java에서 Char을 Int로 바꾸는 방법을 몰랐다.
Character.getNumericValue()을 활용해서 변경할 수 있다.
result = character - '0';
이것은 Ascii code(아스키 코드)를 사용해서 푼것인데
1. 컴퓨터는 문자를 기억할 수 없기 때문에 숫자 번호에 문자를 연결하여 기억하게 된다.
가령 숫자 0은 문자A, 숫자 1은 문자 b이다.
2. Ascii code는 초기에 만들어진 숫자 - 문자 매필 테이블이라고 생각하면 된다.
3. 문자 '0'의 아스키코드는 48 ~ 문자 '9'의 아스키코드는 57이다
즉 '0','1','2','3','4','5','6','7','8','9' 는 48,49,50,51,52,53,54,55,56,57로 보면 된다.
따라서 아스키 코드를 이용해 연산하면 char을 int로 변환한것과 동일한 값이 나온다.
따라서 문제대로면 문자하나를 입력받아 int로 리턴하면숫자 0 하나만 리턴해도 된다.물론 1로 해도된다.따라서 character - '0'; 이 된다.
character - '0';
'0' 은 48 이기 때문에 char값에서 아스키코드 0을 빼면 숫자가 나오게된다.
즉
코드번호 모를때는 result = character - '0' 할당만하면 된다.
문제 3 [int -> char 형변환]
숫자(int) 하나를 입력받아 알맞은 문자(char)를 리턴합니다.
코드:
정답:
result = Character.forDigit(num, 10);
result = (char) (num + '0');
틀린이유:
int -> char 변환을 할줄 몰랐음.
int형을 char형으로 형변환하기: Charater.for.Digit(int digit, ind radix)
java lang 패키지의 Charater 클래스의 메소드로 forDigit()이 있다.
1. int num = 5;
2. char c = Character.forDigit(num, 10);
|
char c = Charater.for.Digit(num,10); 으로 하면
int형 변수 num이 char형으로 변수 c에 저장된다.
result = (char)(num+'0');
아스키 코드를 활용한 것으로 num에 아스키코드를 합쳐서 char로 표현함.
즉 num 숫자에서 + '0' 아스키코드 48을 더하게되면 char에 해당하는값이 나오게됨.
따라서
코드번호 모를때는 result = character + '0'
(char)(num+'0') 을 씌운 이유는 result는 char 타입이고 num은 int형 타입이기에
char로 수동타입변환을 해줘야한다. (char)
태그:
문자열을 인자로 받는다의 의미
Java - Char를 Int로 변환하기
int -> char 형변환
'자기주도학습 > 코딩 테스트' 카테고리의 다른 글
ConvertListtoObject 2차원 배열을 HashMap으로 리턴하기 (0) | 2023.01.20 |
---|---|
문자열 첫 글자 대문자로 리턴하기 [letterCapitalize] // .split() .substring() .join() (0) | 2023.01.19 |
HashMap 빈배열 첫번째, 마지막 요소를 키와 값으로 하는 HashMap 생성하기 (0) | 2023.01.12 |
자바에서 Void?? [Missing return statement 계속 뜨는 이유] (0) | 2022.12.27 |
댓글