Java程序代写,控制台输出,基础语句编写银行系统,要求开立两个银行账户,包含用户注册,用户使用系统
引用chatGPT作答,以下是一个简单的Java程序,用于创建和管理银行账户。该程序在控制台输出,并包括用户注册和使用系统的功能。
import java.util.Scanner;
public class BankSystem {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
BankAccount account1 = new BankAccount("John", "123456");
BankAccount account2 = new BankAccount("Jane", "654321");
System.out.println("Welcome to the Bank System!");
while (true) {
System.out.println("Please select an option:");
System.out.println("1. Register new account");
System.out.println("2. Access existing account");
System.out.println("3. Exit");
int option = input.nextInt();
if (option == 1) {
System.out.print("Enter your name: ");
String name = input.next();
System.out.print("Enter your password: ");
String password = input.next();
BankAccount newAccount = new BankAccount(name, password);
System.out.println("Account created successfully!");
newAccount.showBalance();
} else if (option == 2) {
System.out.print("Enter your name: ");
String name = input.next();
System.out.print("Enter your password: ");
String password = input.next();
if (account1.authenticate(name, password)) {
account1.showMenu();
} else if (account2.authenticate(name, password)) {
account2.showMenu();
} else {
System.out.println("Invalid credentials. Please try again.");
}
} else if (option == 3) {
System.out.println("Thank you for using the Bank System!");
break;
} else {
System.out.println("Invalid option. Please try again.");
}
}
}
}
class BankAccount {
private String name;
private String password;
private double balance;
public BankAccount(String name, String password) {
this.name = name;
this.password = password;
this.balance = 0;
}
public boolean authenticate(String name, String password) {
return this.name.equals(name) && this.password.equals(password);
}
public void showBalance() {
System.out.println("Your current balance is: " + balance);
}
public void showMenu() {
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Please select an option:");
System.out.println("1. Deposit");
System.out.println("2. Withdraw");
System.out.println("3. Check balance");
System.out.println("4. Exit");
int option = input.nextInt();
if (option == 1) {
System.out.print("Enter amount to deposit: ");
double amount = input.nextDouble();
deposit(amount);
} else if (option == 2) {
System.out.print("Enter amount to withdraw: ");
double amount = input.nextDouble();
withdraw(amount);
} else if (option == 3) {
showBalance();
} else if (option == 4) {
System.out.println("Thank you for using the Bank System!");
break;
} else {
System.out.println("Invalid option. Please try again.");
}
}
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("Deposit successful!");
showBalance();
} else {
System.out.println("Invalid amount. Please try again.");
}
}
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
System.out.println("Withdrawal successful!");
showBalance();
} else {
System.out.println("Invalid amount. Please try again.");
}
}
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
实现银行账户系统,我们需要以下步骤:
1.创建一个银行账户类
2.在主程序中创建两个银行账户
3.允许用户输入选择开户或登陆
4.如果用户是新用户,可以让他们注册一个新账户
5.如果用户已经有账户,则要求提供用户名和密码进行认证
6.用户成功认证后,我们将允许他们执行存款、取款和查看余额等操作
Java代码实现如下:
import java.util.Scanner;
public class BankAccountSystem {
public static void main(String[] args) {
BankAccount account1 = new BankAccount("Alice", "1234", 5000);
BankAccount account2 = new BankAccount("Bob", "5678", 3000);
Scanner input = new Scanner(System.in);
int choice;
do {
System.out.println("1. Open account");
System.out.println("2. Login");
System.out.println("3. Exit");
System.out.print("Enter your choice: ");
choice = input.nextInt();
switch (choice) {
case 1:
System.out.print("Enter your name: ");
String name = input.next();
System.out.print("Enter your password: ");
String password = input.next();
System.out.print("Enter opening balance: ");
double balance = input.nextDouble();
BankAccount newAccount = new BankAccount(name, password, balance);
System.out.println("Account created successfully. Your account number is: " + newAccount.getAccountNumber());
break;
case 2:
System.out.print("Enter your account number: ");
int accountNumber = input.nextInt();
System.out.print("Enter your password: ");
String loginPassword = input.next();
BankAccount loginAccount = BankAccount.authenticate(accountNumber, loginPassword);
if (loginAccount == null) {
System.out.println("Invalid account number or password.");
} else {
int loginChoice;
do {
System.out.println("1. Deposit");
System.out.println("2. Withdraw");
System.out.println("3. Check balance");
System.out.println("4. Logout");
System.out.print("Enter your choice: ");
loginChoice = input.nextInt();
switch (loginChoice) {
case 1:
System.out.print("Enter amount to deposit: ");
double depositAmount = input.nextDouble();
loginAccount.deposit(depositAmount);
System.out.println("Deposit successful. Your new balance is: " + loginAccount.getBalance());
break;
case 2:
System.out.print("Enter amount to withdraw: ");
double withdrawAmount = input.nextDouble();
boolean success = loginAccount.withdraw(withdrawAmount);
if (success) {
System.out.println("Withdrawal successful. Your new balance is: " + loginAccount.getBalance());
} else {
System.out.println("Insufficient balance.");
}
break;
case 3:
System.out.println("Your balance is: " + loginAccount.getBalance());
break;
}
} while (loginChoice != 4);
}
break;
}
} while (choice != 3);
}
}
class BankAccount {
private static int nextAccountNumber = 1;
private String name;
private String password;
private double balance;
private int accountNumber;
public BankAccount(String name, String password, double balance) {
this.name = name;
this.password = password;
this.balance = balance;
this.accountNumber = nextAccountNumber++;
}
public int getAccountNumber() {
return accountNumber;
}
public double getBalance() {
return balance;
}
public boolean deposit(double amount) {
balance += amount;
return true;
}
public boolean withdraw(double amount) {
if (balance >= amount) {
balance -= amount;
return true;
} else {
return false;
}
}
public static BankAccount authenticate(int accountNumber, String password) {
if (accountNumber == 1 && password.equals("1234")) {
return new BankAccount("Alice", "1234", 5000);
} else if (accountNumber == 2 && password.equals("5678")) {
return new BankAccount("Bob", "5678", 3000);
} else {
return null;
}
}
}
在运行程序时,它会显示以下选项:
1. Open account
2. Login
3. Exit
Enter your choice:
用户可以输入1来打开一个新账户,输入2来登陆旧账户,输入3退出程序。
如果用户选择1,他们将被要求输入姓名,密码和开户余额。一个新的银行账户将被创建,账户号码将被分配给该用户,并打印出来。
如果用户选择2,他们将被要求输入账户号码和密码。如果这些值与预设值相同,该用户将被认证,并显示以下选项:
1. Deposit
2. Withdraw
3. Check balance
4. Logout
Enter your choice:
用户然后可以选择相应的操作。如果他们选择存款或提款,他们将被要求输入操作数,并显示新的账户余额。
如果他们选择了“查看余额”,他们的当前账户余额将被显示。如果他们选择了“登出”,他们将被重定向到主菜单。
如果我的回答解决了您的问题,请采纳!
以下内容部分参考ChatGPT模型:
好的,以下是一个简单的银行账户系统的示例代码,包括用户注册和使用系统的功能:
import java.util.Scanner;
public class BankAccountSystem {
static int numAccounts = 0; // 记录账户数量
static BankAccount[] accounts = new BankAccount[2]; // 存储银行账户的数组
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 用户注册
for (int i = 0; i < accounts.length; i++) {
System.out.println("请输入用户" + (i + 1) + "的姓名:");
String name = scanner.nextLine();
System.out.println("请输入用户" + (i + 1) + "的初始余额:");
double balance = Double.parseDouble(scanner.nextLine());
accounts[i] = new BankAccount(name, balance);
numAccounts++;
}
// 用户使用系统
while (true) {
System.out.println("请选择要进行的操作:");
System.out.println("1. 存款");
System.out.println("2. 取款");
System.out.println("3. 查询余额");
System.out.println("4. 退出系统");
int choice = Integer.parseInt(scanner.nextLine());
switch (choice) {
case 1:
deposit(scanner);
break;
case 2:
withdraw(scanner);
break;
case 3:
checkBalance(scanner);
break;
case 4:
System.out.println("感谢使用本系统,再见!");
System.exit(0);
default:
System.out.println("无效的选项,请重新输入。");
break;
}
}
}
private static void deposit(Scanner scanner) {
System.out.println("请输入要存款的账户编号(1-" + numAccounts + "):");
int accountNum = Integer.parseInt(scanner.nextLine()) - 1;
System.out.println("请输入要存款的金额:");
double amount = Double.parseDouble(scanner.nextLine());
if (accountNum >= 0 && accountNum < numAccounts) {
accounts[accountNum].deposit(amount);
System.out.println("存款成功,当前余额为:" + accounts[accountNum].getBalance());
} else {
System.out.println("无效的账户编号。");
}
}
private static void withdraw(Scanner scanner) {
System.out.println("请输入要取款的账户编号(1-" + numAccounts + "):");
int accountNum = Integer.parseInt(scanner.nextLine()) - 1;
System.out.println("请输入要取款的金额:");
double amount = Double.parseDouble(scanner.nextLine());
if (accountNum >= 0 && accountNum < numAccounts) {
if (accounts[accountNum].withdraw(amount)) {
System.out.println("取款成功,当前余额为:" + accounts[accountNum].getBalance());
} else {
System.out.println("余额不足,无法取款。");
}
} else {
System.out.println("无效的账户编号。");
}
}
private static void checkBalance(Scanner scanner) {
System.out.println("请输入要查询余额的账户编号(1-" + numAccounts + "):");
int accountNum = Integer.parseInt(scanner.nextLine()) - 1;
if (accountNum >= 0 && accountNum < numAccounts) {
System.out.println("当前余额为:" + accounts[accountNum].getBalance());
} else {
System.out.println("无效的账户编号。");
}
}
}
class BankAccount {
private String name; // 用户姓名
private double balance; // 账户余额
public BankAccount(String name, double balance) {
this.name = name;
this.balance = balance;
}
public String getName() {
return name;
}
public double getBalance() {
return balance;
}
public void deposit(double amount) {
balance += amount;
}
public boolean withdraw(double amount) {
if (balance >= amount) {
balance -= amount;
return true;
} else {
return false;
}
}
}
这个程序中,我们先通过用户输入来创建两个银行账户,然后让用户可以选择要进行的操作,包括存款、取款、查询余额和退出系统。用户进行操作时,需要输入对应的账户编号和金额,程序会对输入进行校验并输出相应的结果。实际的银行账户系统可能要更加复杂,但这个示例代码可以帮助你快速入门。
不知道你这个问题是否已经解决, 如果还没有解决的话:java
import java.util.Scanner;
public class BankSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 创建账户1
System.out.print("请输入账户1用户名:");
String accountName1 = scanner.next();
System.out.print("请输入账户1密码:");
String password1 = scanner.next();
Account account1 = new Account(accountName1, password1);
// 创建账户2
System.out.print("请输入账户2用户名:");
String accountName2 = scanner.next();
System.out.print("请输入账户2密码:");
String password2 = scanner.next();
Account account2 = new Account(accountName2, password2);
// 登录账户
int currentAccount = 0;
while (true) {
System.out.print("请输入操作账户的用户名:");
String username = scanner.next();
System.out.print("请输入密码:");
String password = scanner.next();
if (account1.login(username, password)) {
currentAccount = 1;
System.out.println("账户1登录成功。");
break;
} else if (account2.login(username, password)) {
currentAccount = 2;
System.out.println("账户2登录成功。");
break;
} else {
System.out.println("用户名或密码错误,请重试。");
}
}
// 操作账户
System.out.println("请选择以下操作:");
System.out.println("1. 存款");
System.out.println("2. 取款");
System.out.println("3. 查询余额");
System.out.println("4. 退出");
while (true) {
int operation = scanner.nextInt();
if (operation == 1) {
System.out.print("请输入要存款的金额:");
double deposit = scanner.nextDouble();
if (currentAccount == 1) {
account1.deposit(deposit);
} else if (currentAccount == 2) {
account2.deposit(deposit);
}
System.out.println("存款成功。");
} else if (operation == 2) {
System.out.print("请输入要取款的金额:");
double withdraw = scanner.nextDouble();
if (currentAccount == 1) {
account1.withdraw(withdraw);
} else if (currentAccount == 2) {
account2.withdraw(withdraw);
}
System.out.println("取款成功。");
} else if (operation == 3) {
if (currentAccount == 1) {
System.out.println("账户1余额为:" + account1.getBalance());
} else if (currentAccount == 2) {
System.out.println("账户2余额为:" + account2.getBalance());
}
} else if (operation == 4) {
System.out.println("退出系统。");
break;
} else {
System.out.println("无效操作,请重新输入。");
}
}
}
static class Account {
private String username;
private String password;
private double balance;
public Account(String username, String password) {
this.username = username;
this.password = password;
this.balance = 0;
}
public boolean login(String username, String password) {
return this.username.equals(username) && this.password.equals(password);
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
}
}
public double getBalance() {
return balance;
}
}
}