2016-06-24 2 views
0

Je reçois une erreur de bracketing dans Eclipse (lignes 15 & 18) "Compte public myCustomAccount ... solde = solde initial;}" lorsque j'essaie d'ouvrir mon deuxième constructeur dans les étapes suivantes programme. Le programme est pour Dietel "Introduction à la programmation" chapitre 9 exercice 7.résolution erreur de blocage lors de la création de constructeurs en Java

Je suspecte que je crée le constructeur incorrectement. Quels conseils offrez-vous? (Merci d'avance d'avance !!)

import java.util.Date; 

public class Account { 

//declare required variables 
private int id = 0; 
private double balance = 0; 
private double annualInterestRate = 0; //assume all accounts have the same interest rate 
private Date dateCreated = new Date(); //no-argument instance stores the present date 


//define default & custom constructors 
public Account mydefaultaccount = new Account(); //no-argument instance of Account 

public Account myCustomAccount = new Account(int identNum, double initialBalance) { 
    id = identNum; 
    balance = initialBalance; 
} 

//define getters 
public int getId() { 
    return id; 
} 

public double getBalance() { 
    return balance; 
} 

public double annualInterestRate() { 
    return annualInterestRate; 
} 

public Date getDate() { 
    return dateCreated; 
} 

//define setters 
public void setId(int idSetter) { 
    id = idSetter; 
} 

public void setBalance(double balanceSetter) { 
    balance = balanceSetter; 
} 

public void setAnnualInterestRate(double annualSetter) { 
    annualInterestRate = annualSetter; 
} 

//define required monthly interest rate getter 
public double getMonthlyInterestRate() { 
    double moInt = annualInterestRate/12; 
    return moInt; 
} 

//define modifiers 
public double withdraw(int withdraw) { 
    balance = balance - withdraw; 
} 

public double deposit(int deposit) { 
    balance = balance + deposit; 
} 
} 

Répondre

2

Ce n'est pas ainsi que vous définissez les constructeurs. Les constructeurs devraient suivre la forme:

public className(parameters) {} 

Ensuite, pour instancier la classe, appelez ceci:

ClassName variable = new ClassName(Parameters); 

Dans votre cas,

public Account() { 
    /* Body */ 
} 

public Account(int identNum, double initialBalance) { 
    /* Body */ 
} 

Et instancier,

Account ac = new Account(Parameters); 
+0

merci beaucoup! Je savais que quelque chose n'allait pas bien. J'apprécie ton aide. – assemblyDruid

+0

@CameronFarvin Si j'ai aidé, j'apprécierais si accepté! – Li357

+0

Excuses, j'ai maintenant. C'était mon premier message SOverflow. – assemblyDruid