0
votes

Java - Si la déclaration ne renvoie que la clause d'essai

La question est donc avec ma méthode de retrait, pour une raison quelconque, la sortie de My Code:

public class BankAcc {

    String accountName;
    int accountNumber;
    float accountOverdraft;
    float currentBalance;

    public BankAcc(String accountName, int accountNumber, float accountOverdraft, float currentBalance) {
        System.out.println(accountName);
        System.out.println(accountNumber);
        System.out.println(accountOverdraft);
        System.out.println(currentBalance);
    }

    public void deposit(float depositAmnt){
        currentBalance = currentBalance + depositAmnt;
        System.out.println("Balance is currently:" + currentBalance);
    }

    public void withdraw(float withdrawAmnt){
        if (withdrawAmnt <= currentBalance){
            currentBalance = currentBalance - withdrawAmnt;
            System.out.println("Balance is currently:" + currentBalance);
        } else {
            System.out.println("There aren't enough funds.");
        }
    }

    public static void main(String []args){
        BankAcc myBankAcc = new BankAcc("ADL",826501829, 250, 471);
        myBankAcc.deposit(40);
        myBankAcc.withdraw(99);
        myBankAcc.withdraw(999);
    }
}


2 commentaires

Avez-vous débogué votre code pour vérifier les valeurs que vous comparez?


Votre problème est que dans votre constructeur, vous imprimez les valeurs que vous passez, mais vous ne les avez pas réellement définies.


4 Réponses :


4
votes

Vous devez configurer vos attributs dans le constructeur comme celui-ci:

 public BankAcc(String accountName, int accountNumber, float accountOverdraft, float currentBalance) {
    this.accountName = accountName;
    this.accountNumber = accountNumber;
    this.accountOverdraft = accountOverdraft;
    this.currentBalance = currentBalance;
}


0 commentaires

0
votes
public BankAcc(String accountName, int accountNumber, float accountOverdraft, float currentBalance) {
    this.accountName = accountName;
    this.accountNumber = accountNumber;
    this.accountOverdraft = accountOverdraft;
    this.currentBalance = currentBalance;
}

0 commentaires

0
votes

Vous ne sauvegardez pas les valeurs que vous mettez dans votre constructeur xxx


0 commentaires

0
votes

Votre code est "fonctionnant correctement". Vous comparez le dépôt (40) avec 99 ou 999, de sorte que 40 à 99 ne sera pas suffisamment fondé sur le 40-999.

Je vous recommanderais d'utiliser des getters and Setters, car vous serez confus plus tard sur votre code.

  • une chose plus importante d'enregistrement de valeurs dans le constructeur.

0 commentaires