java使用类数组 报错Exception in thread "main" java.lang.NullPointerException

iAmSoScArEd 2018-10-09 原文

java使用类数组 报错Exception in thread “main” java.lang.NullPointerException

源代码如下:

Point[] points=new Point[n];//Point是一个类
        for(int i=0;i<n;i++) {
            System.out.print("请输入x:");
            points[i].setX(in.nextInt());//报错的第29行
            System.out.print("请输入y:");
            points[i].setY(in.nextInt());
        }

报错信息如下:

Exception in thread “main” java.lang.NullPointerException
at test.Main.zjd(Main.java:29)
at test.Main.main(Main.java:9)

分析:

Point[] points=new Point[n];//在定义完类数组后原以为可以直接用如上代码直接使用,但是报如上错误。
于是将29行设置成断点,开始Debug
运行到这里时我就发现了问题:

在变量列表中发现points[0],points[1]的value都是null

猛的一看似乎没什么问题,但是仔细想想,数组中的每个元素都是一个对象啊,既然是对象我们没有对他进行分配空间(没有new)又怎么去使用呢。

于是完善后的代码:

Point[] points=new Point[n];
        for(int i=0;i<n;i++) {
            points[i]=new Point(); //在这里对类数组中的元素申请分配空间,解决。
            System.out.print("请输入x:");
            points[i].setX(in.nextInt());
            System.out.print("请输入y:");
            points[i].setY(in.nextInt());
        }

 

 

 
发表于 2018-10-09 20:34 IAmSoScArEd 阅读() 评论() 编辑 收藏

 

版权声明:本文为iAmSoScArEd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/iAmSoScArEd/p/9762674.html

java使用类数组 报错Exception in thread "main" java.lang.NullPointerException的更多相关文章

  1. springMVC框架 对BaseCtrl封装,简化开发

      让你的项目有对象,你的项目如何才会有面向对象特征呢?没有面向对象特征的项目不是好项目哦。此篇博文会使用到面 […]...

  2. JDK 和 CGLib 实现动态代理和区别

    JDK 和 CGLib 实现动态代理和区别 在日常的开发中,Spring AOP 是一个非常常用的功能。谈到 […]...

  3. 从 hadoop 1.0 到 hadoop 2.0 的演化

    1. 概述 在 Google 三篇大数据论文发表之后,Cloudera 公司在这几篇论文的基础上,开发出了现在 […]...

  4. Spring Boot 整合 Freemarker,50 多行配置是怎么省略掉的?

    Spring Boot2 系列教程接近完工,最近进入修修补补阶段。Freemarker 整合貌似还没和大家聊过 […]...

  5. ES系列(一):编译准备与server启动过程解析

      ES作为强大的和流行的搜索引擎服务组件,为我们提供了方便的和高性能的搜索服务。在实际应用中也是用得比较爽, […]...

  6. java 实验5 图形用户界面设计试验

        常用布局 1)、流布局:   FlowLayout 从左到右,自上而下方式在容器中排列,控件的大小不会 […]...

  7. hibernate使用

    hibernate使用(只讲述了配置大纲) 1.配置文件 hibernate.cfg.xml 类似(mybat […]...

  8. mybatis开发,你用 xml 还是注解?我 pick …

    最近在看公司项目时发现有的项目mybatis是基于注解开发的,而我个人的习惯是基于xml文件开发。对于myba […]...

随机推荐

  1. 分布式寻址算法

    Redis专题地址:https://www.cnblogs.com/hello-shf/category/16 […]...

  2. 找到可能不需要的应用 解决办法

        1、找设置     2、点windows安全中心     3、点应用和浏览器控制     4、点击基于 […]...

  3. OpenSSH 命令注入漏洞(CVE-2020-15778)

    最近看好多大佬都在复现这个OpenSSH命令注入漏洞,作为菜鸡的我也要跟随大佬的脚步,也来复现一波(不分析漏洞 […]...

  4. 360很强大

    昨天中了个流氓软件病毒,很是麻烦,痛恨之极。用360查了下,查到30个病毒,想也没想,全部删除。 今天,Arc […]...

  5. attachEvent和addEventListener详解 – Eason_Chan

    attachEvent和addEventListener详解 attachEvent和addEventList […]...

  6. 为什么要创业?听听扎克伯格怎么说

    10月24日,Facebook公司创始人兼首席执行官马克•扎克伯格(Mark Zuckerberg)走进清华经 […]...

  7. 学习笔记119—Win10安装 matlab 2019a 【亲测有效】

    Win安装 (软件下载链接:https://pan.baidu.com/s/1mCmPbmdzdztbP3Kg […]...

  8. 遍历List的三种方法

    List<String> li = new ArrayList<String>(); […]...

展开目录

目录导航