2017-10-17 7 views
1

今、私は今、宿題をしています。しかし、私はこの課題のいくつかの部分で立ち往生しました。パラメータ化されたコンストラクタを作成する

public class CheeseCake { 
    //Instance Variables   
    private double Cheese; 
    private int StrawBerry; 
    private double Cream; 

    public CheeseCake() { 
      Cheese = 0; 
      StrawBerry = 0; 
      Cream = 0; 
     } 

//Constructor  
    public CheeseCake (double milk, int fresh, double temp) 
    { 

    Cheese = milk; 
    StrawBerry = fresh; 
    Cream = temp; 

    } 



// (setter) 

    public void setCheese(double milk){ 
     Cheese = milk; 
    } 
    public void setStrawBerry(int fresh){ 
     StrawBerry = fresh; 
    }  
    public void setCream(double temp){ 
     Cream = temp; 
} 

//(getter) 

public double getCheese(){ 
    return Cheese; 
} 

    public int getStrawBerry(){ 
     return StrawBerry; 
} 

    public double getCream(){ 
     return Cream; 
} 

{ 

} 
//Method to display data, (need to work on this) 
public void display() { 

System.out.println(Cheese); 
System.out.println(StrawBerry); 
System.out.println(Cream); 
System.out.println("You used " + Cheese + " g of Creamcheese to make Cheese"); 
System.out.println("You used " + StrawBerry + " StrawBerry to make StrawBerry CheeseCake"); 
System.out.println("You used " + Cream + " g of Cream to make Cream Cheese"); 


} 
} 

これは私がこのプログラムを実行するのを助ける私のデモです。

public class Demo { 

    public static void main(String[] args) { 

     CheeseCake cheesecake = new CheeseCake(); 


     cheesecake.setCheese(5); 


     cheesecake.setStrawBerry(20); 


     cheesecake.setCream(10); 

     cheesecake.display(); 
    } 
} 

私の問題は、3つのインスタンスメソッドとgetter、setterメソッドを作成することです。 また、デフォルトコンストラクタを作成します。 しかし、これはどのようにパラメータ化されたコンストラクタを作成するか分からない。 "すべてのインスタンス変数をパラメータとして使用し、インスタンス変数をパラメータで指定された値に設定するパラメータ化されたコンストラクタを作成する"

また、私の先生がデモの方法で何をしたいのか分かりません。

Demo.javaという名前のクラスを作成します。このクラスにはメインメソッドが含まれます デフォルトコンストラクタを使用してクラスのインスタンスを作成します。 すべてのオブジェクトを呼び出してオブジェクトに値を代入するメソッドを設定する オブジェクト表示メソッドを呼び出してその値を表示する パラメータ化されたコンストラクタを使用してクラスの別のインスタンスを作成 オブジェクト表示メソッドを呼び出して値を出力する

私のデモの方法は正しいですか?または私はより多くのものを追加する必要があります。また、パラメータ化されたコンストラクタを作成するために、より多くのコンストラクタを追加する必要がありますか?私はパラメータ化されたコンストラクタの作り方を知らない。

+3

先生があなたの先生です与えた割り当てについての明確化のために話をするための最良の人。文字通り、あなたにこの種のことを伝える仕事です。 – azurefrog

+0

"パラメータ化されたコンストラクタの作り方はわかりません。"しかし、あなたはすでに1つを持っているようですか? –

+0

私はデフォルトのコンストラクタが間違っていますか?私は本当にデフォルトのコンストラクタとパラメータ化されたコンストラクタの違いについて混乱しています –

答えて

1

デフォルトコンストラクタは引数をとりません。 2番目のコンストラクタは、パラメータ化されたコンストラクタです。そしてあなたのコードは大丈夫です。引数として別のインスタンスを取るもう一つのパラメータ化されたコピーコンストラクタを作成するだけです。すなわち

public CheeseCake (CheeseCake ck) 
    { 

    Cheese = ck.getCheese(); 
    StrawBerry = ck.getStrawBerry(); 
    Cream = ck.getCream(); 

    } 

そして今、あなたは

チーズケーキcheesecake2 =新しいチーズケーキ(チーズケーキ)このコンストラクタを使用したデモクラスにインスタンスを作成する必要があります; //これで、表示メソッドを呼び出し、引数

として最初のオブジェクトを渡します2番目のオブジェクトの場合。



関連する問題