2014-10-18 65 views
-3

我是java新手,在使用return語句時遇到困難。教師要求根據給出的描述創建方法,在創建get語句時遇到了困難:「public Exam()」,描述爲「初始化實例變量:計數爲0,總數爲0,並得分爲「」(2分)「。另一個是「public int getCount()」,描述是「返回count(1點)的值」。根據我如何解釋說明,簡化如下。Java - 難度使用return

public class Exam{ 

    public Exam() 
    { 
     int count = 0; 
     int total = 0; 
     String scores = ""; 
    } 
    public int getCount() 
    { 
     return count; 
    } 
} 

編譯原樣給出了說,它無法識別符號指示在「迴歸計數」「計數」,而一個錯誤,而其他方法考試()和更新它們取決於變量。

編輯:由於它得到了這麼快的表決,我會猜測並說這可能是明顯的。

回答

1

它不承認它,它也不應該。除了您的構造函數之外,您還沒有定義count

這不是return聲明的問題,這是範圍問題。

這裏簡短的回答是,你可以聲明他們你的構造之外,並實例化他們這裏面。這會起作用,因爲你的變量現在已經定義在你的構造函數和你的getter可以使用的級別。

public class Exam { 
    private int count; 
    private int total; 
    private String scores; 

    public Exam() { 
     count = 0; 
     total = 0; 
     scores = ""; 
    } 

    public int getCount() { 
     return count; 
    } 
} 

稍微涉及的答案很直接;這是爲什麼它的工作原理。

一個塊內定義的變量(用花括號表示)被認爲在該塊的範圍內,並且包含在其中的所有其他塊。

這意味着您的類及其所有關聯的方法都具有某種範圍。

現在,通過在類級別聲明您的字段,任何方法(或構造函數)都可以使用這些變量。

如果您在構造函數中聲明它們,只有構造函數知道這些變量的存在,而其他方法不會知道它們包含的數據。