2016-04-30 37 views
-2

我是一個java初學者,我看不到我在這裏犯了什麼錯誤。爲什麼最後的return語句不起作用?

該代碼應該返回一個單詞組成的字母數。

內部方法沒有。 1: 我使用一個變量,將字母數保存爲「int numberOfChar」。

內部方法沒有。 2: 我只是想返回值,我已經保存在方法1中,但是當我使用這種方法時,我得到的所有值都是'0'。這是爲什麼?我忘了什麼?

class Wordlength { 

    int numberOfChar; 

    /** 
    * @param word the word, which length I want to count. 
    */ 
    public int wordlength (String word) { 

     int numberOfChar = wort.length(); 

     return numberOfChar; 
    } 

    public int giveWordLength() { 
     return numberOfChar; 
    } 
} 
+2

首先,到處都有拼寫錯誤,此代碼無法編譯...請閱讀[問],製作[mcve]併發布正確的代碼。 – Tunaki

+2

查找「變量陰影」 –

+0

構造'公衆詮釋字長(串詞)'不應該有回報 – Blip

回答

1

也許你忘了這會創建一個新的局部變量,而不是引用另一個?

int numberOfChar = word.length(); 

您可以從該行的開頭刪除int,它會工作,但在你學習,我建議你符合條件,所使用的變量。

this.numberOfChar = word.length(); 

你需要解決一些其他的語法錯誤,如果這應該是一個構造函數,然後使它一個替代方法。 (構造函數不返回)

public Wordlength (String word) { 
    this.numberOfChar = word.length(); 
} 
+0

非常感謝! 我確實忘了,初始的「int」創建了一個新的局部變量。 加上我不小心使第一個方法看起來像一個構造函數,我不知道如何糾正,因爲我沒有找到編輯按鈕。儘管我現在糾正了它。 //編輯: 我寫的代碼顯然沒有多大意義。我所做的全部都是嘗試着理解它是如何工作等語法。也許堆棧溢出是我的菜鳥問題的錯誤地址。 – Josh

+0

那麼,你仍然編輯它是一種方法,而不是一個構造函數 –

+0

和StackOverflow是好的,但不是如果你張貼無法運行的代碼。 –

相關問題