`

错误与纠正<如何将对象加入数组与空指针> 日期:2011.2.20

J# 
阅读更多
1.xx类的数组(队列)才可以放入xx类的对象,xx类的数组(队列)不能存放yy类的对象
例如:
student[][] stu=new student[i][j];
//i,j你自己规定
student stu1=new student
stu[k][l]=stu1;

如果变成
stud stu2=new stud;
stu[k][l]=stu2
就会报错,类型不一致

2.空指针问题
//创建一个类
public class student{
int i,j;
//名字
private int Num;
//声明一个二维数组
private student[][] stu;


//重载构造器
public student(int i,int j){
this.i=i;
this.j=j;
stu=new student[i][j];
}


//输出方法,重点
public void Show(){
for(int i=0;i<this.i;i++){
for(int j=0;j<this.j;j++){
stu[i][j].num=i+j;
}
}
}
}
看那一行代码有问题没有?
在编译器里会报错:空指针;
为什么?
答案:因为,我们创建一个二维数组(盒子)是存放student对象的,在代码中没有对象,因此stu[i][j]==null;所以,stu[i][j].num等价于null.num;因此会报错
解决方法:在之前创建一个student得对象:然后用stu2调用里面的属性,例如:
student stu2=new student();
stu2.Num=i+j;
stu[i][j]=stu2;
这样就解决了这一个空指针的问题
分享到:
评论

相关推荐

    keil数组曲线显示 KArrayV144 ,To:2023.1.1

    《Keil数组曲线显示KArrayV144详解》 在嵌入式系统开发中,Keil MDK(Microcontroller Development Kit)是一款广泛使用的集成开发环境,尤其在8位、16位和32位微控制器的应用程序开发中占据重要地位。其中,...

    10-3 LeetCode:215. 数组中的第 K 个最大元素.mp4

    10-3 LeetCode:215. 数组中的第 K 个最大元素.mp4

    超详细的项目管理的中文模板

    外包与采购管理.doc&lt;br&gt; .....................\附录Q-1 外包开发竞标邀请书.doc&lt;br&gt; .....................\附录Q-2 承包商评估报告.doc&lt;br&gt; .....................\附录Q-3 外包开发合同.doc&lt;br&gt; ...................

    中对象数组的应用与实验

    #include&lt;iostream&gt; using namespace std; class Circle { public: double radius; Circle() { radius = 1.0; } Circle(double newRadius) { radius = newRadius; } double getArea() { return(radius * ...

    网站自动模拟器(AutoWeb)(c#源码)

    )&lt;br&gt;&lt;br&gt;使用说明:&lt;br&gt;可以采用函数式编写命令来实现你所需的自动化功能,&lt;br&gt;函数严格区分大小写,&lt;br&gt;语句之间以分号隔开。&lt;br&gt;函数说明:&lt;br&gt; 1.ClickButtonByID(参数)&lt;br&gt; 功能:模拟鼠标点击网页中的按钮&lt;br&gt; ...

    Java中什么是数组共2页.pdf.zip

    在Java编程语言中,数组是一种特殊的数据结构,用于存储同类型元素的集合。它提供了一种方式来组织数据,使得可以高效地访问和...同时,熟练掌握数组的操作,如排序、查找,以及与集合类的对比,将有助于提升编程能力。

    微信小程序的数组添加、wx:for循环、删除、显示与隐藏,可以记录每一件事情

    如果你想记录每一件事情,你可以创建一个包含事件详细信息的对象数组,如`tasks`,每个对象包含`title`(事件标题)、`description`(描述)和`date`(日期)等字段。然后,你可以使用`wx:for`循环遍历这个数组,...

    C程序设计:指针与数组.ppt

    6. **指针与数组**:指针可以用于遍历和操作数组。数组名实际上是一个指向数组首元素的指针,因此可以使用指针进行数组的访问和操作。例如,`int arr[5]; int *ptr = arr;`这里的`ptr`现在指向数组的第一个元素。 7...

    环形数组(介绍、配置、使用步骤、环形数组对象、API).pdf

    #include &lt;stdlib.h&gt; #define ringbuf_malloc malloc // 定义 malloc 函数 #endif #ifndef ringbuf_free #define ringbuf_free free // 定义 free 函数 #endif ``` 通过这种方式,用户可以灵活地选择内存管理方式,...

    oracle数组定义与使用.pdf

    - 遍历方式初始化:通过循环将值逐个放入数组,例如`for i in 1..var_array.count loop...end loop;` 3. 数组索引: - Oracle数组的索引是从1开始,不是从0开始,如`var_array(1)`,`var_array(2)`等。 - `count...

    52.java二维数组静态初始化.zip

    52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化....

    js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    尽管数组在概念上与对象不同,但在JavaScript中,数组也被视为一种特殊的对象,其索引被视为属性。 1. 获取对象的键(keys)和值(values) 在JavaScript中,我们可以使用`for...in`循环遍历对象的所有可枚举属性...

    mybatis配置dtd文件

    1. `&lt;select&gt;`:定义SQL查询,返回结果通常映射到Java对象。 2. `&lt;insert&gt;`:定义插入操作,支持动态SQL和返回自动生成的主键。 3. `&lt;update&gt;`:定义更新操作,同样支持动态SQL。 4. `&lt;delete&gt;`:定义删除操作。 5. ...

    犀牛4.0中文补丁包

    &lt;br&gt;安装&lt;br&gt;&lt;br&gt;1.首先打开"Rhinoceros...如果想要Rhino4显示中文界面可安装中文语言包,复制"语言包"中的所有xml文件到C:\...\Rhinoceros 4.0\System\Languages(根据你自己的安装路径修改)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;

    网格最短leetcodePython-Python-Leetcode-Algorithm:此存储库包含用于练习Leetcode算法的Pytho

    数组:48个简单 1. 二和: 26. 从排序数组中删除重复项: 27. 删除元素: 35.搜索插入位置: 53. 最大子阵列: 66.加一: 88. 合并排序数组: 118. 帕斯卡三角形: 119. 帕斯卡三角形 II: 121. 买卖股票的最佳时机...

    2004~2015年程序员软考考试上午真题合集.pdf

    在数组和矩阵中,一维数组T[0...m*n-1]可以通过每隔n个元素取出一个元素依次存入数组B[1...m]中。 * question 14: A.T[(k-1)*n] B.T[k*n] C.T[(k-1)*m] D.T[k*m] 回答:A.T[(k-1)*n] 7.递归函数 在递归函数...

    第3讲 指针高级指针访问数组.doc

    在本讲中,我们将深入探讨如何使用指针来访问数组,特别是四维数组,并学习如何通过指针查找某个变量是否存在于这个数组中。首先,我们需要了解指针的基本概念以及它与数组的关系。 指针是一个变量,它存储的是另一...

    C++读取csv到数组.zip

    在C++编程中,将CSV(逗号分隔值)文件读取到数组是一项常见的任务,特别是在处理数据或实现数据分析程序时。CSV文件通常用于存储表格数据,每一行代表一个记录,每一列代表一个属性,列之间用逗号分隔。在本教程中...

    C语言数组与指针代码精选

    通过将指针作为函数参数,函数可以修改数组的内容。例如,`void swap(int *a, int *b)`函数可以交换两个整数的值,即使它们在不同的作用域内。 8. **指针数组**: 一个数组的元素可以是其他数组的地址,这种结构...

    求两个数组的交集,配合去重方法使用.html

    &lt;title&gt;两数组找相同&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;p&gt; ## 1.给定两个数组,编写一个函数来计算它们的交集。 - 输出结果中的每个元素一定是唯一的。 ``` 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] ...

Global site tag (gtag.js) - Google Analytics