当前位置: 首页 > 知识库问答 >
问题:

如何使用用户输入创建银行账户?

纪晨
2023-03-14

我在项目中有以下课程:

  • 账户
  • 客户
  • 名称:fName和lName(都是字符串字段)
  • 日期:年、月、日(均为整数字段)
  • 银行:包含账户收款
  • InputReader:从键盘读取输入

账户对象需要客户对象和期初余额。客户对象需要名称对象和日期对象。Name对象需要名字和姓氏的字符串我需要向用户询问创建Name和Date对象的详细信息,以及期初余额。

我必须通过从用户那里获取相关信息来创建一个新帐户,即它要求用户输入客户的姓名、出生日期等。它读取用户的回复,创建帐户并将其添加到银行。

当我运行public void createNewAccount()方法时,我一直收到一条错误消息,上面写着“java.lang.NullPointerException”。非常感谢您的帮助。提前谢谢。

下面是我的银行类源代码。

import java.util.ArrayList;

public class Bank
{
    public static final double INTEREST_RATE = 0.012;//1.2%
    // instance variables - replace the example below with your own
    private ArrayList<Account> accounts;
    private InputReader reader;
    private Name fullName;
    private Date dateOfBirth;

    /**
     * Constructor for objects of class Bank
     */
    public Bank()
    {
        // initialise instance variables

    }

    /*
     * Adds an existing Account to the bank
     * @param account
     */
    public void addAccount(Account account)
    {
        accounts.add(account);
    }

       public void createNewAccount() { 

        System.out.println("Please enter your first name: ");
        String firstName = reader.readString();

        System.out.println("Hello " + firstName + ". " + "What is your last name?");
        String lastName = reader.readString();
        System.out.println("Your last name is " + lastName);


        System.out.println("Please enter your year of birth: ");
        int thisYear = reader.readInt();

        System.out.println("Please enter your month of birth: ");
        int thisMonth = reader.readInt();

        System.out.println("Please enter your date of birth: ");
        int thisDay = reader.readInt();

        Name theName = new Name(firstName, lastName);
        Date theDateOfBirth = new Date(thisYear, thisMonth, thisDay);

    }


}

共有3个答案

贺轶
2023-03-14
Scanner scanner = new Scanner(System.in);

The scanner object has a lot of functions you can use;
闾丘卓
2023-03-14

你可以用扫描仪更换阅读器。差不多吧。

    Scanner scan = new Scanner(System.in);
    System.out.println("Please enter your first name: ");
    String firstName = scan.next();

    System.out.println("Hello " + firstName + ". " + "What is your last name?");
    String lastName = scan.next();
    System.out.println("Your last name is " + lastName);


    System.out.println("Please enter your year of birth: ");
    int thisYear = scan.nextInt();

    System.out.println("Please enter your month of birth: ");
    int thisMonth = scan.nextInt();

    System.out.println("Please enter your date of birth: ");
    int thisDay = scan.nextInt();

  //Then do what you are supposed to do......
桑博远
2023-03-14

您必须先初始化阅读器,然后才能尝试从中读取。

 类似资料:
  • 我在努力理解api。我有一个平台,人们来销售他们的产品,客户会立即付款,但我想将其托管,稍后再发布。这很好,但我的所有卖家可能没有条纹账户,只有银行账户。 我检查了这个apihttps://stripe.com/docs/api/php#create_charge它也允许目的地和平台费用,但问题是它也需要我的卖家的Stripe帐户。我可以直接将钱汇到他们的银行账户并仅在stripe上保存我的佣金吗

  • 孩子们,我提前感谢你们的帮助。又是C问题。我有大学作业的挣扎,我是基于几天前在堆栈上发布的一个问题,由于堆栈政策。 我的问题:下面是我的代码,它不工作。有人能帮我让它工作吗?我错过了什么?(我觉得我错过了很多)。 我把函数和结构放在单独的头文件中,把“int main”放在。CCP我正在使用vis studio来实现这一点。请不要以为我在试图让别人做我的任务。下面是我的代码,后面是作业任务表(仅供

  • 问题内容: 我正在尝试 使用用户输入 创建一个 新对象。 我尝试将用户输入分配给变量,但是在声明新对象时 不知道如何将变量添加 到新对象。这只是我需要帮助的代码部分。我需要帮助的部分是 第8行。 我知道我可以随意放置一些内容,当我使用set方法时,它将覆盖,但这不是我想要的。先感谢您 问题答案: 这取决于类的实现方式。如果Expects 参数的构造函数,则调用传递它们而不指定类型的构造函数。 请注

  • 问题内容: 嗨,我正在尝试创建一个程序来在用户为某个对象输入新信息时创建一个新对象。目前我有这个。 电脑超一流 桌面子类 笔记本电脑子类 因此,有一个班级和两个子班级,但我认为这并不重要。因此,如果我输入1,则应该为Desktop创建一个新对象,如果我输入2,则将为Laptop创建一个新对象。当我输入3时,它应该显示所有创建的对象。我不知道如何让他们工作,请帮助。 问题答案: 使用您提供的限制信息

  • 在玩过游戏之后。Net CIM XML API C#示例代码,我开始使用授权。Net C#SDK。我能够使用CIM XML API示例代码将信用卡和银行账户添加到客户配置文件中。不过,我不知道如何使用SDK添加银行账户。 使用CIM XML API添加银行账户: 使用SDK,我只看到一个方法,但无法添加银行帐户。当我循环查看我所有的时,遇到银行账户时也会抛出一个异常: 例外情况: 如何使用Auth

  • 创建一个新帐户 geth account new 创建一个新帐户并打印地址。 在Console上,使用: > personal.newAccount("passphrase") 该帐户以加密格式保存。您必须记住这个密码以将来解锁您的帐户。 对于非交互式使用,可以使用--password标志指定密码: geth --password <passwordfile> account new 请注意,这仅