gpt4 book ai didi

java - 如果银行账户类别中遗漏了报表?

转载 作者:搜寻专家 更新时间:2023-10-31 08:13:40 24 4
gpt4 key购买 nike

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

我目前正在学习 Java,并且一直在阅读过去的试卷以帮助我积累 Java 知识。

问题是:

编写一个 Account 类,其中包含帐户的帐号和当前余额的实例变量。实现构造函数和方法 getAccountNumber()、getBalance()、借方(双倍金额)和贷方(双倍金额)。在你的借记和贷记的实现中,检查指定的金额是否为正,并且在借记方法中不会导致 overdraw 。在这些情况下返回 false。否则,更新余额。

我已经尝试这样做了,但是,我还没有为借方和贷方方法实现 boolean 函数。我只是想先构建程序并尝试让它运行。我打算在之后查看这个,因为我不确定如何返回 true 或 false,同时还尝试从上述方法返回一个金额。

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

我可以运行我的代码,但是当我输入 deposit 时,它似乎无法正常工作,如果有任何指点,我将不胜感激。

这是我的代码:

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);

}
}

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

最佳答案

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

在 Java 中比较 String 对象使用 equals 方法代替比较运算符 ==

if(userInput.equals(withdraw))

代码中有几个实例使用 == 比较 String 对象,将它们更改为使用 equals

此外,在使用条件 block 时,最好用大括号将 block 括起来 {}

if(true){

}

关于java - 如果银行账户类别中遗漏了报表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16519644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com