2016-09-08 5 views
-1

私はJava OOPを初めて使ったので、クラスやものについてほとんど理解できません。私は理解するためにいくつかのコードを書こうとしましたが、私は成功しませんでした。ここで私のコードは、私はそれが卵の数を返すと思ったが、私は何も返さない理由を知らない。Javaコードは返されません。

class EggCounter { 
    private int egg; 
    { 
     egg = 0; 
    } 
    public void eggAdd() 
    { 
     egg = egg + 1; 
    } 
    public void eggBreak() 
    { 
     egg = egg - 1; 
    } 
    public void eggAddDozen() 
    { 
     egg = egg + 12; 
    } 
    public int getEgg() 
    { 
     return egg; 
    } 

} 
public class EggTest 
{ 
    public static void main(String[]args) 
    { 
     EggCounter egg = new EggCounter(); 
     egg.eggAdd(); 
     egg.eggAddDozen(); 
     egg.eggBreak(); 
     egg.getEgg(); 
    } 
} 
+1

戻り値は何もしませんか? – Li357

+0

egg.getEgg()は何を返すのかを確認できるように印刷します。 –

+0

バイナリ演算子を使用することができます。例えば、「egg = egg + 12;」を「egg + = 12;」と置き換えればよい。 – reformed

答えて

2

返すのは12です。メインメソッドのegg.getEgg();行をSystem.out.println(egg.getEgg());に置き換えると、12が出力されます。

2

戻り値は、返り値getEggで何もしないということだけです。あなたがしなければならないことは、それを変数に格納するか、それを使って何かすることです。 return <value>は、指定された値のみを呼び出し先に返します。使用するには、その呼び出しを保存する必要があります。例:ここでは

int eggCount = egg.getEgg(); 
System.out.println(eggCount); 

eggCount通話egg.getEgg()の割り当て。戻り値をeggCountに割り当てる卵の数が返されると、呼び出しが解決されます。最後に、eggCountが印刷されます。後でegg.getEgg()の結果が必要な場合は、単純に出力には、次のことができます。この作品

System.out.println(egg.getEgg()); 

どのように呼ばれているegg.getEgg()方法です。戻り値は解決され、printステートメントに渡されます。これは、後で使用できる変数に変数を格納することを取り除きます。

関連する問題