如果在银行账户类中错过了陈述?

Pri*_*ist 5 java if-statement

我在使用以下语法时遇到了一些问题.

我目前正在学习Java,并且一直在阅读过去的考试文章,以帮助我建立自己的Java知识.

这是一个问题:

写一个类帐户,其中包含帐号的实例变量和帐户的当前余额.实现构造函数和方法getAccountNumber(),getBalance(),debit(double amount)和credit(double amount).在您的借记和贷记实施中,检查指定的金额是否为正,并且在借方法中不会引起透支.在这些情况下返回false.否则,请更新余额.

我曾试图这样做,但我还没有为借记和贷记方法实现布尔函数.我只是想先建立程序并尝试让它运行起来.我之后会看到这个,因为我不确定如何返回真或假,同时也试图从所述方法中返回一定数量.

请原谅我的代码中的任何错误,因为我还在学习Java.

我可以运行我的代码,但是当我输入存款时,它似乎无法正常工作,我将在此感谢任何指示.

这是我的代码:

import java.util.*;

public class Account {

private int accountNumber;
private static double currentBalance;
private static double debit;

// ***** CONSTRUCTOR *****//
public Account(double currentBalance, int accountNumber) {
    accountNumber = 12345;
    currentBalance = 10000.00;
}

public int getAccountNumber(int accountNumber) {
    this.accountNumber = accountNumber;
    return accountNumber;
}

public double getcurrentBalance(double currentBalance) {
    this.currentBalance = currentBalance;
    return currentBalance;
}

public static double debit(double currentBalance, double amount) {
    currentBalance -= amount;
    return currentBalance;
}

public static double credit(double currentBalance, double amount) {
    currentBalance += amount;
    return currentBalance;
}

public static void main(String [] args){
    String withdraw = "Withdraw";
    String deposit = "Deposit";
    double amount;
    Scanner in = new Scanner(System.in);
    System.out.println("Are you withdrawing or depositing? ");
    String userInput = in.nextLine();
    if(userInput == withdraw)
        System.out.println("Enter amount to withdraw: ");
        amount = in.nextDouble();
            if(amount > currentBalance)
                System.out.println("You have exceeded your amount.");

                debit(currentBalance, amount);

            System.out.println("Your new balance is: " + currentBalance);

            if (userInput == deposit)
                System.out.println("Enter amount to deposit: ");
                    amount = in.nextDouble();
                    credit(currentBalance, amount);

        System.out.println("Your new balance is: " + currentBalance);

}
}
Run Code Online (Sandbox Code Playgroud)

请再次原谅我的代码中的任何错误.我还在学习它的语法.

Kev*_*sox 6

在if语句中,if(userInput == withdraw)您尝试比较String对象.

在Java中,为了比较String对象,使用equals方法而不是比较运算符==

if(userInput.equals(withdraw))
Run Code Online (Sandbox Code Playgroud)

代码中有几个实例String使用==更改这些对象来比较对象equals.

此外,当使用条件块时,最好用大括号包围块 {}

if(true){

}
Run Code Online (Sandbox Code Playgroud)

  • @PrimalScientist我很高兴我可以提供帮助.看起来你保持你的代码非常整洁有序.保持!大括号将有助于使其更具可读性. (2认同)
  • @PrimalScientist你也可以使用`if(userInput.equalsIgnoreCase("withdraw"))` (2认同)