2014-01-23 2 views
-1
String firstname , middlename , lastname ; 

firstname = fn.getText().substring(0,1); 
middlename = mn.getText().substring(0,1); 
lastname = ln.getText(); 

String shortname = shortname.concat(lastname); // error is in this line, shortname.concat 

shortname = shortname.concat(" "); 
shortname = shortname.concat(firstname); 
shortname = shortname.concat("."); 
shortname = shortname.concat("middlename"); 
shortname = shortname.concat("."); 

shrt.setText(shortname); 

다른 줄에는 오류가 없습니다. 그냥 shortname 변수가 초기화되지 않았습니다.변수가 초기화되지 않습니다.

참고 : 쉽게 해결하십시오. 나는 11 학년입니다.이 자바를 텍스트 북에서 읽으십시오.

+0

[스택 추적] (http://en.wikipedia.org/wiki/Stack_trace) – Christian

+0

오류로 게시물을 편집하십시오. @Christian은 컴파일 오류가 될 수 있습니다.) –

답변

0

신고하기 전에 shortname을 사용하려고합니다. 변수를 선언하고 사용하기 전에 변수를 초기화해야합니다. RHS에 shortname을 사용한다는 것은 LHS에서 선언되기 전에도 사용하려고한다는 것을 의미합니다. 먼저 선언하고 초기화 한 다음 사용하십시오. @Brian으로

String shortname = ""; // blank string, for initializing it 
shortname = shortname.concat(lastname); 

는 빈 문자열을 가진 CONCAT 될 것, 당신은뿐만 아니라 단지 바로에 값을 할당 할 수 있습니다 댓글을 달았습니다. 그리고 그런 식으로 2 문장을 필요로하지 않습니다. @Christians 대답 주석 @BrianRoach로

, 우리는 짧은 이름을 initilize해야

String shortname = lastname; // Declaration and initialization, done! 
+1

고마워요, 일 했어요. –

0

사용 :

String shortname = ""; 
    shortname = shortname.concat(lastname); 
+0

우리가 알고있을 때 비어 있니? String shortName = lastName –

+0

빈 문자열로 연결될 필요가 전혀 없습니다. – Aarav

5

오른쪽 표현

String shortname = shortname.concat(lastname); 

에서 당신이

shortname.concat(lastname) 
을하려고 그렇게 할 때, 전에 할당을 을 평가됩니다

shortname 그 순간에 초기화되지 않았습니다. 이 문제를 해결하려면 빈 문자열 ("") 당신이 그것을 사용하기 전에 그것을에게를 초기화해야합니다

String shortname = ""; 
shortname = shortname.concat(...); 

편집 : @BrianRoach은 주석으로

, 당신 때문에, 그것을 연결할 필요가 없습니다 빈 문자열 ("")을 다른 String과 연결하는 것입니다. 그냥 다음을 수행하십시오 :

String shortname = lastname; 
+2

빈 상태라는 것을 알고있을 때 왜 연결을 사용합니까?'String shortName = lastName' –

+0

네 말이 맞아, 나는 그것을 간과했다. 편집 됨. – Christian

+0

@BrianRoach : 좋은 지적 –

0

Initilize는

String shortname=""; 
shortname = shortname.concat(lastname); 

편집, 그것은 먼저

Actulally shortname doesnt contain anything to concat with. 

그래서 제공하는 몇 가지 값을 축약 예 :

연결 목적을 평가하기 위해
String shortname=lastname; 

+0

@BrianRoach : 저는 크리스천의 대답에 대한 당신의 의견을 보면서 이미 편집을 받고있었습니다 .. !! –

+0

방금 ​​모두 같은 의견을 게시했습니다.) –

+0

좋아, 좋은 점은 :) –

관련 문제