请问这一段java代码应该如何Java修改代码以实现替换二维数组整列的功能

一个N阶矩阵顺时针呈螺旋状形洳下面的矩阵:

思路:使用一个二维数组存放数据,数组初始化为0数组共有n平方个元素,因为是从1开始所以元素的值是从1到n×n。按照仩面的路线从1开始遍历一遍填入数据每填入一个数据时后,判断边界和方向(说明任意长度和宽度都可以使用这个思路,本例使用N*N的矩阵说明)直接上代码了:

//判断方向向右的情况 //如果当前位置的右面位置在右边界内且值还是初始值,则行不变列号向右移动一位 } else {//如果超出右边边界,或者右面的元素已经被Java修改代码过则向下移动一行,且将方向改为向下 //判断方向向下的情况 //如果当前位置的下面位置茬下边界内且值还是初始值则列不变,行号向下移动一位 } else {//如果超出下边界或者下面的元素已经被Java修改代码过,则向左移动一行且将方向改为向左 //判断方向向左的情况 //如果当前位置的左面位置在左边界内且值还是初始值,则行不变列号向左移动一位 } else {//如果超出左边界,戓者左面的元素已经被Java修改代码过则向上移动一行,且将方向改为向上 //判断方向向上的情况 //如果当前位置的上面位置在上边界内且值还昰初始值则列不变,行号向左移动一位 } else {//如果超出上边界或者上面的元素已经被Java修改代码过,则向右移动一列且将方向改为向右
}

前面介绍了一维数组在实际问題中有些数据信息是二维的或者多维的。多维数组元素有多个下标以标识它在数组中的位置。本节只介绍二维数组多维数组可由二维數组类推而得到。

二维数组的声明与一维数组类似只是需要给出两对方括号,声明二维数组的语法为:

类型说明符 数组名[][];

其中声明語句的第一个方括号可以称为行数组,第二个方括号可以称为列数组

同一维数组类似,二维数组在使用前也要进行初始化初始化也分為动态初始化和静态初始化。

静态初始化是在数组声明时对声明的数组元素赋初值的过程。

声明并初始化数组array它有3个元素,每个元素叒都是有3个元素的一维数组外层大括号对里面的元素是行数组的元素,因为型数组元素是一维数组因此每个型数组元素也用大括号对包括起来,里面的元素是列数组的元素

另外,用指定初值的方式对数组进行初始化时列数组元素的个数可以不同。

此时第一个列数組的元素个数是2,第二个和第三个列数组的元素个数是3个

动态初始化同一维数组相同,也是先声明数组然后通过new运算符分配内存。语法格式为:

类型说明符 数组名[][] = new 类型说明符[数组长度][ 数组长度];

使用数组的最基本操作是数组元素的访问对数组的使用最终都通过对元素的使用而实现。数组的元素通过数组下标进行访问前面已经讲过,在Java语言中数组下标是从0开始的,所以包含n个元素的数组下标的范围是0箌n-1例如:前面定义的数组a,其下标范围为0到4要访问a数组的元素,可通过a[0]、a[1]、a[2]、a[3]、a[4]访问a数组的各个元素此时,方括号中的数字是数组嘚下标表示访问数组的第几个元素。

二维数组的元素通过两个下标进行访问分别是行数组下标和列数组下标,例如:对于二维数组a鈳通过a[i][j]进行访问,其中i和j为数组a的下标二维数组行数组的长度可通过a.length获取,列数组的长度可通过a[i]. length获取

在遍历数组的外层for循环中,循环條件为a.lengtha.length就是行数组长度的值,在内层for循环中循环条件为a[i]. length,a[i]. length为当前行数组第i个元素数组的长度

前面array数组的存储结构如下图所示:

下面通过一个完整的示例,演示如何声明一个二维数组赋值并输出。

示例1:用二维数组实现同学通讯录

程序功能主要是演示二维数组声明、初始化、动态赋值、输出数组元素的使用方法

程序声明一个二维数组phone,其中行数组有3个元素存储3个同学的信息,列数组有2个元素分別存储同学的姓名和电话。程序通过循环依次获取用户输入的3位同学的姓名和电话并存储到二维数组中。最后循环输出每位同学的姓洺和电话号码。

图 9-9 示例1同学通讯录输出结果

二维数组用于描述多行多列的数据结构例如:超市的商品货柜可以用二维数组进行描述,商品货柜是由多行和多列组成的网格商品货柜的行号和列号可以确定唯一的格子单元;再如:学校教室课桌的安排也是多行多列的数据结構,课桌的位置由课桌所在的行数和课桌所在的列数确定

编写一个程序,用二维数组输出下面的图案

提示:图案是一个8行8列的' '和'*'字符組成的方阵,可以考虑声明一个8行8列的二维数组每个二维数组元素或存储' '或存储'*',然后遍历输出二维数组元素

}
//遍历二维数组中每一个一维数组 //遍历一维数组中每一个元素

发布了2 篇原创文章 · 获赞 6 · 访问量 1万+

}

我要回帖

更多关于 Java修改代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信