2015-11-22 47 views
-1

該代碼應該返回字符串的第一個和最後一個字母,但我不斷取得這些錯誤第5行:int不能被解除引用和第6行:int不能被解除引用我一直得到這個錯誤int不能被解除引用

public String firstAndLast(String str) 
    { 
    int length = str.length(); 
    char first= length.charAt(0); 
    char last= length.charAt(length - 1); 
    return String.valueOf(first) + String.valueOf(last); 
    } 

回答

5

char last= length.charAt(length - 1); 

char last= str.charAt(length - 1); 

更重要的是,該錯誤信息是電話確切地說你的問題在哪裏 - 哪一行,哪一個錯 - 你試圖調用一個長度爲int的方法。將來,請仔細閱讀錯誤消息,因爲他們通常會給您提供問題,一旦您瞭解問題,解決方案就會變得很明顯。

+0

謝謝你這麼多,我快要瘋了我不認爲這將改變任何東西:)我不能立即選擇回答,但是當它讓我,我會 – TheCompile

+1

@TheCompile:你別客氣了,請記住,關鍵是在涉及的行中嚴格查看*,並努力瞭解錯誤信息告訴你什麼。一旦你瞭解它,解決這個問題是微不足道的。 –

2

長度是一個原始類型的int變量。你不能通過它調用方法,也許代碼會這樣?

public String firstAndLast(String str) 
    { 
     int length = str.length(); 
     char first= str.charAt(0); 
     char last= str.charAt(length - 1); 
     return String.valueOf(first) + String.valueOf(last); 
    } 
相關問題