Java第五周实验报告4

实验目的:

封装一类矩阵对象,该类对象具有
初始化矩阵的功能、修改矩阵元素的功能

 

实验代码:

package cn.Xu; public class JuZhen { public int hang; public int lie; public int a[][] = new int[hang][lie]; public JuZhen() { hang = 0; lie = 0; a = new int [hang][lie]; for (int i = 0; i < hang; ++i) { for (int j = 0; j < lie; ++j) { a[i][j] = 0; } } } //构造函数 public void set_hang(int hang) { this.hang = hang; } public void set_lie(int lie) { this.lie = lie; } public int get_hang() { return hang; } public int get_lie() { return lie; } //getter和setter函数 public void zhiZhi() { a = new int[hang][lie]; for (int i = 0; i < hang; ++i) { for (int j = 0; j < lie; ++j) { a[i][j] = 1; } } } public void change(int i, int j, int zhi) { a[i][j] = zhi; } public void display() { for (int i = 0; i < hang; ++i) { for (int j = 0; j < lie; ++j) { System.out.print(a[i][j] + " "); } System.out.println(); } } //功能函数 为矩阵数据设置处置 修改矩阵中元素的值 显式矩阵 } package cn.Xu; public class Test_JuZhen { public static void main(String[] args) { JuZhen juzhen = new JuZhen(); juzhen.set_hang(4); juzhen.set_lie(4); juzhen.zhiZhi(); juzhen.display(); System.out.println(); juzhen.change(1, 1, 2); juzhen.display(); } }


 

实验结果:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 


 

实验心得:

说实话,过程并不是太一帆风顺,问题集中出现在二维数组上,也不知道是怎么了,是以前练习的少了吗,还是其他的什么原因,应该不会因为定义方式的不同而被绊住的啊,可是却又真的偏偏出问题了,开始时,没有设置置值的函数,结果那,在修改数组中元素的函数中动态开辟空间,也没有设置初值,直接对元素进行修改,数组会默认的全部为0,修改的功能也不能得以实现,之后为了条理更清晰,增加了设置初值的函数,又在在哪个函数中开辟数组空间的问题上费了一些时间,置值的函数中开辟空间,再在修改元素的函数中开辟数组空间,结果就是初值全部改为0,虽然是可以更改数组中数据的。综上所述,其实问题就在于开辟空间上,其实现在想想是很自然的事情,先止初值,之后修改元素,最后显式,在最初置初值的函数中开辟空间是很理所应当的,之后再次开辟空间,自然会被默认为0值了。所以,还是老问题,多多注意细节和逻辑就可以了。

你可能感兴趣的:(Java第五周实验报告4)