每次开设银行帐户,帐户ID都应加1,但是每次我尝试拉出ID时,我只会得到帐户ID为0,这是任何建议,因为我完全按照从书中学习的方式进行学习而且仍然没有更新。
帐户构造函数:
public class BankAccount {
public static int bankID = 0;
//constructor called by BankAccount michaelsBank = new BankAccount();
public BankAccount(){
balance = 0;
lastAssignedNumber++;
accountNumber = lastAssignedNumber;
}
//Constructs a bank account with an initial deposit, will be used if given a number for a parameter
public BankAccount(double initialBalance){
balance = initialBalance;
}
public void deposit(double amount){
balance = balance + amount;
}
public void withdraw(double amount){
balance = balance - amount;
}
public double getBalance(){
return balance;
}
public int getID(){
return accountNumber;
}
private double balance;
private int accountNumber;
private static int lastAssignedNumber;
}
银行账户主程序:
import java.text.*;
public class BankAccountTest {
public static void main (String args[]){
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(2); // Helps formatter format for final output
formatter.setMinimumFractionDigits(2);
ConsoleReader console = new ConsoleReader(System.in);
System.out.println("Hello, would you like to make a new bank account?");
String newA = console.readLine();
if(newA.equalsIgnoreCase("yes")){
System.out.println("How much would you like to deposit initially?");
double init = console.readDouble();
BankAccount account = new BankAccount(init);
System.out.println("Your account is created, what would you like to do? \n 1: Get Balance \n 2: Get Account ID \n 3: Make a Withdrawl \n 4: Make a Deposit");
int option = console.readInt();
while(option == 1){
System.out.println(account.getBalance() + " Is your balance. \nWhat would you like to do next?");
System.out.println("1: Get Balance \n 2: Get Account ID \n 3: Make a Withdrawl \n 4: Make a Deposit");
option = console.readInt();
}
while(option == 2){
System.out.println(account.getID() + " Is your account id.\nWhat would you like to do next?");
System.out.println("1: Get Balance \n 2: Get Account ID \n 3: Make a Withdrawl \n 4: Make a Deposit");
option = console.readInt();
}
while(option == 3){
System.out.println("How much would you like to withdraw?");
double withdraw = console.readDouble();
account.withdraw(withdraw);
System.out.println("Your new balance is " + account.getBalance() + "\nWhat would you like to do next?");
System.out.println("1: Get Balance \n 2: Get Account ID \n 3: Make a Withdrawl \n 4: Make a Deposit");
option = console.readInt();
}
while(option == 4){
System.out.println("How much would you like to deposit?");
double deposit = console.readDouble();
account.deposit(deposit);
System.out.println("Your new balance is " + account.getBalance() + "\n what would you like to do next?");
System.out.println("1: Get Balance \n 2: Get Account ID \n 3: Make a Withdrawl \n 4: Make a Deposit");
option = console.readInt();
}
}
}
}
您可以采用一种杂乱的方式构造BankAccount对象,其中是否分配ID取决于您使用的构造函数。如果您重写构造函数以便将它们链接在一起,而主要构造函数负责所有核心职责,而次要构造函数将默认值和委托分配给主要构造函数,那么初始化将具有一致的结果。
(术语是Scala的,在该语言中强制使用构造函数链接。)
这里的主要构造函数是:
public BankAccount(double initialBalance){
balance = initialBalance;
lastAssignedNumber++;
accountNumber = lastAssignedNumber;
}
并添加一个辅助构造函数:
public BankAccount() {
this(0);
}
无论您呼叫哪个,都将生成一个ID。
(这与Lorenzo的答案类似,我为清楚地描述问题而提出投票。不同之处在于,他的链接朝着另一个方向发展,因此默认值被分配然后被覆盖。)
我想在取款后把账户上的余额换一下,但它只是停留在10点。我不知道如何在SavingsAccount中正确应用一个会改变它的方法。我试了但没有成功。
你好,我正在Java办理银行申请。 我的问题是我不知道如何删除创建的帐户。 当我创建一个新的帐户,它得到一个新的号码,但我不知道如何删除一个帐户,如果有像3个帐户,我想删除帐号2,当我想创建一个新的帐户,它将得到ID号码2。(有1号和3号)。 当我想创建另一个帐户时,我想将其ID更改为4。 提前道谢。:)
这个问题是由打字错误或无法再复制的问题引起的。虽然这里可能有类似的问题,但这个问题的解决方式不太可能对未来的读者有所帮助。 我已经一遍又一遍地写这个程序了,有人能告诉我我遗漏了什么吗,看起来这是个小错误,我没有抓住。 以下是我正在努力实现的目标: 设计一个名为Account的类,该类包含: 帐户名为id的私有int数据字段(默认值为0) 帐户名为balance的专用双精度数据字段(默认值为0) 名
所以我有一个Java编程II类的作业,要求我创建一个名为Account的类,它要执行以下操作: 设计一个名为Account的类,该类包含: 数据成员: 帐户的一个名为id的类型为int的私有数据文件; 帐户的double named balance类型的专用数据字段; double类型、名为annualInterestRate的私有数据字段,存储当前利率(假设所有帐户的利率相同); 名为dateC
我正在使用未来贝宝支付方式进行支付 我想使用paypal访问令牌从paypal帐户向银行或信用卡转账。 但是我找不到合适的方法来做这件事。 那有什么方法吗???
我正在尝试为以下网站的客户id查找xpath- https://netbanking.hdfcbank.com/netbanking/?_ga=1.219943581.521154242.1455311784 但似乎没有一个奏效。我正在使用selenium webDriver将例如'123456'的密钥发送到客户id框,然后单击continue按钮。但硒并不是每次都能找到元素。谁能帮帮我吗!