2016-11-07 15 views
-2

私は練習をしており、いくつかの値を持つ特定のオブジェクトを作成する必要があります。 私はクラス「買弁」(Java Noob)ダブルタイプで問題が発生しました

public class Comprador extends Persona { 

    double presupuesto; 

    public Comprador(String nombre, String apellido, String numeroDocumento, double presupuesto) { 
     super(nombre, apellido, numeroDocumento); 
     this.presupuesto = 00; 
    } 

    public double getPresupuesto() { 
     return presupuesto; 
    } 

    public void setPresupuesto(double presupuesto) { 
     this.presupuesto = presupuesto; 
    } 

    @ 
    Override 
    public String toString() { 
     return "nombre=" + nombre + ", apellido=" + apellido + ", numeroDocumento=" + numeroDocumento + "Comprador{" + "presupuesto=" + presupuesto + '}'; 
    } 
} 

を持っているアイデアは、「買弁」オブジェクトを構築し、それらの値を通知することですが、それは、二重に来るとき、私はいつも「0.0」を取得します。

Comprador monica = new Comprador("Monica","Robes","304", 3532.2); 
System.out.println(monica.toString()); 

私はダブルを初期化しようとしましたが、結果はありませんでした。私はそれがおそらく何かばかだと知っていますが、私はそれを理解できません。

+3

であなたのコンストラクタに 'presupuesto'パラメータを使用していないが、その代わりに、常に '0'にメンバ変数を設定しています。ゼロ以外の値にする場合は、コンストラクタの値を使用するか、セッターを呼び出します。 – azurefrog

答えて

1

コンストラクタ内にthis.presupuesto = 00;という行があり、問題が発生しています。

this.presupuesto = presupuesto; 

と交換してください、あなたは罰金になります。

0

"presupuesto" varのユーザーではないため、2行目のコンストラクタをチェックしてください。00の値が設定されています。コンストラクタで

public class Comprador extends Persona { 

double presupuesto; 

public Comprador(String nombre, String apellido, String numeroDocumento, double presupuesto) { 
    super(nombre, apellido, numeroDocumento); 
    this.presupuesto = presupuesto; 
} 

public double getPresupuesto() { 
    return presupuesto; 
} 

public void setPresupuesto(double presupuesto) { 
    this.presupuesto = presupuesto; 
} 


@Override 
public String toString() { 
    return "nombre=" + nombre + ", apellido=" + apellido + ", numeroDocumento=" + numeroDocumento + "Comprador{" + "presupuesto=" + presupuesto + '}'; 
} 
0

、メンバ変数presupuestoは、コンストラクタのパラメータ値で初期化されることはありません。

変更このthis.presupuesto = 00;このthis.presupuesto = presupuesto;

関連する問題