2016-04-26 8 views
0

私はちょうど食べ物を包み込む基本クラスを持っています。そして、私はメソッドgetName、文字列と他のすべてのメソッドをチェックするために私のクライアントクラスに行くと、それはすべてnullを返します。ここで何が間違っているのか分かりません。オブジェクトをnullとして返す基本Javaオブジェクトクラス?

public class Foods { 

    public String name; 
    public int calPerServing; 
    public int servingPerContainer; 

    Foods(String n, int c, int s){ 
     n = name; 
     c = calPerServing; 
     s = servingPerContainer; 
    } 

    @Override 
    public String toString() { 
     return "Name: " + name + "\nCalories Per Serving: " + calPerServing 
       + "\nServings Per Container: " + servingPerContainer; 
    } 

    public String getName() { 
     return name; 
    } 

    public int getCalPerServing() { 
     return calPerServing; 
    } 

    public int getServingPerContainer() { 
     return servingPerContainer; 
    } 

    public int getTotalCalories(){ 
     return (calPerServing * servingPerContainer); 
    } 
} 


public class Client { 

    public static void main(String[] args) { 
     Foods chips = new Foods("chips", 10, 1); 
     System.out.println(chips.getName()); 
    } 
} 

答えて

4

これはタイプミスです:

Foods(String n, int c, int s){ 
    n = name; 
    c = calPerServing; 
    s = servingPerContainer; 
} 

は次のようになります。

Foods(String n, int c, int s){ 
    name = n; 
    calPerServing = c; 
    servingPerContainer = s; 
} 
+0

ありがとうございました!ダムの間違いだが、それは起こる。 – sfinger

+1

@elisefingerあなたは可能な限りメンバー変数を最終的にすることで、その変化を減らすことができます。 –

関連する問題