Java程序,控制台输出

img


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

这个程序中,我们先通过用户输入来创建两个银行账户,然后让用户可以选择要进行的操作,包括存款、取款、查询余额和退出系统。用户进行操作时,需要输入对应的账户编号和金额,程序会对输入进行校验并输出相应的结果。实际的银行账户系统可能要更加复杂,但这个示例代码可以帮助你快速入门。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^该回答引用ChatGPT
以下是一个简单的银行系统程序示例,包括用户注册和操作账户:

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


程序流程如下:

1. 首先要求用户输入账户1的用户名和密码,并创建Account对象account1,同理还要求用户创建Account对象account2。
2. 接着要求用户输入要操作的账户的用户名和密码,程序会验证输入的用户名和密码是否正确,如果正确,则提示登录成功;否则,要求重新输入。
3. 登录成功后,程序会显示菜单,供用户选择操作。可以选择存款、取款、查询余额或退出系统。
4. 根据用户选择的操作,进行相应的处理。存款时,要求用户输入要存款的金额,然后更新账户余额;取款时,要求用户输入要取款的金额,如果余额充足,则更新账户余额;查询余额时,显示对应账户的余额;退出系统时,程序结束。