m0_62463000 2022-03-11 11:44 采纳率: 66.7%
浏览 40
已结题

为什么这里会报错呢?看了好久都没看懂 求解答!!

有没有黑马说一次为什么报错啊?看了好久都没看出来为什么登录界面输入密码后报错
代码如下:

public class ATMSystem {
//1、定义账户类
public static void main(String[] args) {

    //2、定义一个集合容器,负责以后存储全部的账户对象,进行相关业务
    ArrayList<Account> accounts = new ArrayList<>();
    Scanner rs = new Scanner(System.in);

    //3、展示系统的首页
    while (true) {
        System.out.println("=============于晏ATM系统===============");
        System.out.println("1、账户登录~~");
        System.out.println("2、账户开户~~");

        System.out.println("请输入您的选择:");
        int command = rs.nextInt();

        switch (command){
            case 1:
                //用户登录系统
                login(accounts,rs);
                break;
            case 2 :
                //用户开户系统 (ALT + ENTER)
                register(accounts , rs);
                break;
            default:
                System.out.println("您输入的用户不存在~~");


        }
    }
}

/**
 * 用户登录系统
 * @param accounts  用户集合
 * @param rs    扫描器
 */
private static void login(ArrayList<Account> accounts, Scanner rs) {
    System.out.println("==================系统登录操作==========================");
    //1、判断账户集合中是否存在账户,如果账户不存在,登录功能不能进行
    if (accounts.size() == 0){
        //账户不存在
        System.out.println("对不起,当前未查询到有账户~");
        return; //卫语风格,结束当前方法执行
    }

    //2、正式进入登录操作
    while (true) {
        System.out.println("请您输入您的卡号:");
        String cardId = rs.next();
        //判断卡号是否存在
        Account acc = getAccountByCardId(cardId, accounts);//查询卡号是否存在方法
        if (acc != null) {
            while (true){
            //卡号存在
            //3、让用户输入密码
            System.out.println("请您输入密码:");
            String passWord = rs.next();
            //判断密码是否正确
                if (acc.getPassWord().equals(passWord)) {
                    //登录成功

img

  • 写回答

1条回答 默认 最新

  • qq_25376897 2022-03-11 11:52
    关注

    第72行报的是空指针错误,你要看72行写了什么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看