• [ETC] 자바, X ? : Y : Z 를 IF else 구문으로..?2014.04.16 PM 01:50

게시물 주소 FONT글자 작게하기 글자 키우기

으으....
이상하네요.. 자바에서
String as1[] = makeCommand(str, j, k != str.length - 1 ? k : k + 1);
라는 예제가 있다고 했을때..
(makeCommand는 String, int, int 를 입력받는 임의의 함수이며 String 을 리턴한다고 가정.)

이걸 IF ELSE 구문으로 바꾸면
String as1[];
if( k != str.length - 1 )
{
as1[] = makeCommand(str, j, k);
}
else
{
as1[] = makeCommand(str, j, k + 1);
}
이거 아닌가요?
코딩해보니 저렇게 바꾸면 신나게 컴파일 에러 메세지를 밷어내는데.. 도대체 왜....T_T
댓글 : 7 개
정의에선 as1[] 에 직접 대입하는 것으로 초기화가 되지만
아래선 초기화가 아니라 대입이므로 as1[] =...을 쓰면 컴파일 에러가 납니다.
as1 = ...
으로 바꿔보세요.

그리고 함수 리턴형은 string이 아니라 string 배열형이죠?
감사합니다~! 네 리턴형은 스트링 배열형입니다. 지금 당장 바꾸고 컴파일 다시 해봐야 겠네요
아무런 문제없이 컴파일 되네요. 감사합니다 (이것 때문에 몇시간째 헤메던 중이었네요. T_T)
as1[]에다가 뭔가를 대입한다는 실수는 저한테는 참 신선하네요. 사람에 따라서 실수하는 유형이 다 다른가봐요.
실수라기 보다 저가 무지해서 그렇습니다 . 코딩하다가 로직은 맞는듯한데 컴파일이 안되서 몇시간씩 이런것들 때문에 헤메면 정말 진빠지더군요 T_T
배열 선언시에 String[] a, int[] i.... 이런식으로 바꿔코딩하시면 오류를 줄일수 있을껍니다.
변수에다가 [] 써버리니 대입할때도 써야되나 헷갈리시는듯...
T_T
친구글 비밀글 댓글 쓰기

user error : Error. B.