2577번 - 숫자의 개수
컴파일했을떄 배열값에 수가 안더해지고 전부 기본값인 0으로 나옵니다.
디버그해본 결과 27행의 if문에 진입을 못하는 것 같은데 이유를 도저히 모르겠어요 ㅠ
밑에는 27행의 if문안에System.out.println(String.valueOf(sum).charAt(i)); //i인덱스값 (i번째글자) System.out.println(i+" "+j); //i와j가 잘 올라가는지 확인
추가후 출력결과입니다.입력 150 266 427
(sum 17037300 으로 초기화 )
1 0 0 /1 0 1 /1 0 2/ 1 0 3/ 1 0 4 /1 0 5/ 1 0 6/ 1 0 7/ 1 0 8 /1 0 9 /
7 1 0/ 7 1 1/ 7 1 2/ 7 1 3 /7 1 4 /7 1 5 /7 1 6/ 7 1 7/ 7 1 8/ 7 1 9/
0 2 0 /0 2 1 /0 2 2/ 0 2 3/ 0 2 4/ 0 2 5/ 0 2 6/ 0 2 7/ 0 2 8/ 0 2 9/
.....
으로 별 문제없이 연산되는 걸로보이나
위 출력의 x y z 에서 x와 z가 같으면 num[j]에 1씩 추가가되어야되는데
배열값에 1씩 추가가 안되는거보면
if문에서 비교가 안되는걸로 보입니다.
혹시 비교하는 코드가 잘못되었나요?
비교코드:if(String.valueOf(sum).charAt(i)==j)
'0' 과 0은 같지 않습니다.
'1'과 '1'도 마찬가지죠!
char와 숫자를 비교하실땐
char c = '1';
if (c-'0' == 1)
이런 방식을 취해주셔야 합니다.
댓글을 작성하려면 로그인해야 합니다.
cww9512 4년 전
컴파일했을떄 배열값에 수가 안더해지고 전부 기본값인 0으로 나옵니다.
디버그해본 결과 27행의 if문에 진입을 못하는 것 같은데 이유를 도저히 모르겠어요 ㅠ
밑에는 27행의 if문안에System.out.println(String.valueOf(sum).charAt(i)); //i인덱스값 (i번째글자)
System.out.println(i+" "+j); //i와j가 잘 올라가는지 확인
추가후 출력결과입니다.
입력 150 266 427
(sum 17037300 으로 초기화 )
1 0 0 /1 0 1 /1 0 2/ 1 0 3/ 1 0 4 /1 0 5/ 1 0 6/ 1 0 7/ 1 0 8 /1 0 9 /
7 1 0/ 7 1 1/ 7 1 2/ 7 1 3 /7 1 4 /7 1 5 /7 1 6/ 7 1 7/ 7 1 8/ 7 1 9/
0 2 0 /0 2 1 /0 2 2/ 0 2 3/ 0 2 4/ 0 2 5/ 0 2 6/ 0 2 7/ 0 2 8/ 0 2 9/
.....
으로 별 문제없이 연산되는 걸로보이나
위 출력의 x y z 에서 x와 z가 같으면 num[j]에 1씩 추가가되어야되는데
배열값에 1씩 추가가 안되는거보면
if문에서 비교가 안되는걸로 보입니다.
혹시 비교하는 코드가 잘못되었나요?
비교코드:if(String.valueOf(sum).charAt(i)==j)