如何根据代码创建用户和密码 (PIN)?



我不擅长Java,还在学习。 我的任务是创建银行帐户,如下所示。

开发基于SDLC的Java应用程序,允许银行柜员 为银行客户创建一个银行帐户,初始起始余额为 基金。银行柜员和银行客户都可以将钱存入 客户帐户。只有银行客户才能从他的账户中提取资金 到400,000。任何提款后,该帐户必须始终拥有超过 10,000。 应用程序应该有一个循环 客户从账户中提取资金直到最低金额 (10,000(需要帐户中剩余。当客户尝试提款时 使账户余额少于 10,000 的交易资金 必须拒绝

package simpleBankAccount; 
public class MkomaziAccount {
private int accountNo;
private String accountName; // user name for the account.
private double accBalance; // Account balance
private double setDailyAmount = 400000.00; // Amount to withdraw per day.
private static double defaultBalance = 10000.00;
public int day, i = 1;

public MkomaziAccount(int accountNo, String accountName, double accBalance, double setDailyAmount,
double defaultBalance) {
if (accBalance < 0) {
System.out.println("Starting balance cann't be less than 0. n Balance set to 0.00Tshs");
} else {
this.accountNo = accountNo;
this.accountName = accountName;
this.accBalance = accBalance;
this.setDailyAmount = setDailyAmount;
this.defaultBalance = defaultBalance;
System.out.println("Account initialized. nBalance set to Tshs" + this.accBalance);
}
}

public int getAccountNumber() {
return accountNo;
}

public String getAccountName() {
return accountName;
}

public double getAccountBal() {
return accBalance;
}

//method to withdraw funds
public void transferFunds(double amount) {
if (amount > accBalance) {
System.out.printf("Unable to withdraw Tshs%.2f. Insuffient balance. n", amount);
} else if (amount > this.setDailyAmount) {
System.out.printf("You cannot withdraw more than Tshs%.2f" + this.setDailyAmount + "per day.n",
setDailyAmount);
} else if (amount == defaultBalance || accBalance == defaultBalance) {
System.out.printf("You cannot withdraw that amount of %.2f. nYour balance is: %.2f", amount, accBalance);
} else {
for (i = 1; i <= day; i++) {
this.accBalance -= amount;
i++;
System.out.printf("The amount of Tshs%.2f successfully withdrawn. nYour new balance is Tshs%.2fn",
amount, this.accBalance);
}
}
}

//Method to deposit money
public void addFunds(double nextDouble) {
if (nextDouble < 0) {
System.out.println("You cannot deposit negative amount");
} else {
this.accBalance += nextDouble;
}
}
}

import java.io.PrintStream;
import java.util.Scanner;

public class MkomaziAccountTest {
private static Scanner Mkomazi = new Scanner(System.in);

public static void main(String[] args) {
boolean quit = false;
int choice;
int accountNo;
String accountName;
double accBalance;
final double defaultBalance = 10000.00;

System.out.printf("%24sn","Mkomazi Bank Application V1.0");
System.out.println("============================================");
System.out.println("Please enter your personal details below.");
System.out.println("Please enter Account Name");
accountName = Mkomazi.nextLine();   
System.out.println("Please enter Account Number");
accountNo = Mkomazi.nextInt();

System.out.println("Please enter Account Name");
accountName = Mkomazi.nextLine();

System.out.println("Starting Balance");
accBalance = Mkomazi.nextDouble();

MkomaziAccount account = new MkomaziAccount(accountNo, accountName, accBalance, accBalance, defaultBalance);

while(!quit) {
printMainMenu();
choice = Mkomazi.nextInt();

if (choice == 1) {
System.out.printf("Account Name: %sn Account Balance: Tshs %.2fn", account.getAccountName(), account.getAccountBal());
account.getAccountName();
} else if (choice == 2) {
System.out.println("Enter amount to deposit: ");
account.addFunds(Mkomazi.nextDouble());
} else if (choice == 3) {
System.out.println("Enter amount to withdraw: ");
account.transferFunds(Mkomazi.nextDouble());
} else if (choice == 4) {
quit = true;
} else {
System.out.println("Invalid choice");
}
}
Mkomazi.close();

}

public static void printMainMenu() {
System.out.printf("%24sn" + 
"=======================================n" + 
"Please select an optionn" + 
"1. Check Balancen" + 
"2. Deposit Moneyn" + 
"3. Withdraw Moneyn" + 
"4. Exit the programn" + 
"========================================n" +
"Choice: ","Mkomazi Bank Application V1.0 ");

}

}

但是当按选项1检查余额时,不打印帐户 号码和帐户名称。有人可以帮忙吗? 如何为帐户名称用户添加 PIN(检查用户的 PIN(。

我运行您的代码并注释这部分:

accountName = Mkomazi.nextLine();   --your accname 
System.out.println("Please enter Account Number");
accountNo = Mkomazi.nextInt(); 

System.out.println("Please enter Account Name");
//accountName = Mkomazi.nextLine(); -- your accname2

System.out.println("Starting Balance");
accBalance = Mkomazi.nextDouble();

MkomaziAccount account = new MkomaziAccount(accountNo, accountName, accBalance, accBalance, defaultBalance); -- it's use your accname2, accname2 = empty

如果您注释第二个帐户名称,则您的代码有效

最新更新