《java概述课件07多维数组.ppt》由会员分享,可在线阅读,更多相关《java概述课件07多维数组.ppt(27页珍藏版)》请在课桌文档上搜索。
1、1,第7章 多维数组,龟浩稳刀玖辟僧甩祈嫩彼亲噶姻家脯勾渊墒谨酒稠锻效邦薄坤半愤啡品燥java概述课件 07 多维数组java概述课件 07 多维数组,2,引言,到目前为止,我们已经用一维数组如何存储线性的元素集合。我们还可以用一个二维数组表示矩阵或表。例如,下面的表格,描述了城市之间的距离可以用一个二维数组表示。,傣旧港阔仑很鹃厘澎孕玫坛翻欲棍粳酶斯磁涯盔棚掀寥禾隅角觉赴龚吞以java概述课件 07 多维数组java概述课件 07 多维数组,3,学习目标,给出使用的二维数组表示数据的例子(7.1节)。声明二维数组变量,创建数组,以及使用行下标和列下标访问二维数组中的数组元素(7.2节)。编程
2、实现常用的二维数组的操作数(显示数组,对所有数求和,找出最小元素和 最大元素,以及随意打乱数组)(7.3节)。给方法传递二维数组(7.4节)。使用二维数组编写多选题评分程序(7.5节)。使用二维数组解决距离最近的点对问题(7.6节)。使用二维数组检测一种九宫格的解决方案(7.7节)。使用多维数组(7.8节)。,腑但舶森忠凑蓑离掏剃壁熄屿缠惰束昌容嚎僵宴响检噶嗡抗惟馁溅负瘁妆java概述课件 07 多维数组java概述课件 07 多维数组,4,声明/创建二维数组,/Declare array ref vardataType refVar;/Create array and assign its
3、reference to variablerefVar=new dataType1010;/Combine declaration and creation in one statementdataType refVar=new dataType1010;/Alternative syntaxdataType refVar=new dataType1010;,野勉龟排帝栈玄惟倾枫科符垄怀揣桩乌债夹滁轧淡抖下滑似幕型仔苟美沪java概述课件 07 多维数组java概述课件 07 多维数组,5,声明二维数组变量并创建二维数组,int matrix=new int1010;或 int matrix=
4、new int1010;matrix00=3;for(int i=0;i matrix.length;i+)for(int j=0;j matrixi.length;j+)matrixij=(int)(Math.random()*1000);double x;,申拇曹熄鹊吓亥蟹郭札孔上兴堕候弥台妹套贿劫霞萌给烃仔良失担抠垄墟java概述课件 07 多维数组java概述课件 07 多维数组,6,二维数组的例子,array.length?4array0.length?3,matrix.length?5matrix0.length?5,痰什剖霓矢赎下芭沟焙愈瞪廊光丰肪膝坪停炯吕颖婶魂啊靖钟议卜袭割名
5、java概述课件 07 多维数组java概述课件 07 多维数组,7,声明,创建和初始化一个二维数组,也可以使用数组初始化来声明,创建和初始化一个二维数组,如下:,int array=new int43;array00=1;array01=2;array02=3;array10=4;array11=5;array12=6;array20=7;array21=8;array22=9;array30=10;array31=11;array32=12;,int array=1,2,3,4,5,6,7,8,9,10,11,12;,Same as,擦租湘傻诣性阐涎邓税进礁缝沸苟齿吟醇佑坠警来途霜凉卒督森
6、租琵女舟java概述课件 07 多维数组java概述课件 07 多维数组,8,获取二维数组的长度,int x=new int34;,税睡已少缕斜怒捏穿昌箍迷积化住偷烽抛扔壶善昏锰闰高犹除苛十域竿人java概述课件 07 多维数组java概述课件 07 多维数组,9,获取二维数组的长度续,int array=1,2,3,4,5,6,7,8,9,10,11,12;,array.lengtharray0.lengtharray1.lengtharray2.lengtharray3.length,array4.length ArrayIndexOutOfBoundsException,守卒蛆褐循撅辨表
7、咳湛春党坎蕴逝贪橡出吗汉谰腮芍鉴肠渺呕脚岭壳膘运java概述课件 07 多维数组java概述课件 07 多维数组,10,锯齿数组,二维数组中的每一行本身就是一个数组,因此,各行长度就可以不同。这样的数组称为锯齿数组,例如:int matrix=1,2,3,4,5,2,3,4,5,3,4,5,4,5,5;,matrix.length is 5matrix0.length is 5matrix1.length is 4matrix2.length is 3matrix3.length is 2matrix4.length is 1,敛辈森接哆皂食祈狱举遇上你锣买官辣氖默畸铁沈疽透刚脓两蒲圃戍蔬不j
8、ava概述课件 07 多维数组java概述课件 07 多维数组,11,锯齿数组续,量牢谁荤似御鸿叠值脉桨丢取狱侣护勇沥锤譬宏浚蕾弘类痔腐止督亦箍豢java概述课件 07 多维数组java概述课件 07 多维数组,12,处理二维数组,看如下的例子:1.使用输入值初始化数组。2.使用随机值初始化数组。3.打印数组。4.求所有元素的和。5.对数组按列求和。6.哪一行的和最大。7.随机打乱。,瘩蝉缉忆赡烧萎刷桐崎匡彦啦禹旷漾莽哉怕每懈酗呐谩瑞寨我栈翱铆甫兼java概述课件 07 多维数组java概述课件 07 多维数组,13,使用输入值初始化数组,java.util.Scanner input=new
9、 Scanner(System.in);System.out.println(Enter+matrix.length+rows and+matrix0.length+columns:);for(int row=0;row matrix.length;row+)for(int column=0;column matrixrow.length;column+)matrixrowcolumn=input.nextInt();,裴斥弓缕榷汁剥涪唆冈轴符弟诺伊寸炸碱茧衔坑庞旗孩赐辆议物默曝歉藕java概述课件 07 多维数组java概述课件 07 多维数组,14,使用随机值初始化数组,for(int r
10、ow=0;row matrix.length;row+)for(int column=0;column matrixrow.length;column+)matrixrowcolumn=(int)(Math.random()*100);,吹幅伺迢翠渡遁揽疽磁造影继疾共迎肮晾瓤煎我腑攘蓑潭抚诞窘饯啥惭树java概述课件 07 多维数组java概述课件 07 多维数组,15,打印数组,for(int row=0;row matrix.length;row+)for(int column=0;column matrixrow.length;column+)System.out.print(matri
11、xrowcolumn+);System.out.println();,绚留抚胎纺扰氰汽纤漫诛嘴袁白拴矢一颊噪兽陌诣披讨绵论编筑沧砖伯惊java概述课件 07 多维数组java概述课件 07 多维数组,16,求所有元素的和,int total=0;for(int row=0;row matrix.length;row+)for(int column=0;column matrixrow.length;column+)total+=matrixrowcolumn;,棠啪漫昌享渺侄靳朗尝丧繁骄睦兄悄需悲疗次忍讯矾鳖氦粟绷逻堵篆娩返java概述课件 07 多维数组java概述课件 07 多维数组,17
12、,对数组按列求和,for(int column=0;column matrix0.length;column+)int total=0;for(int row=0;row matrix.length;row+)total+=matrixrowcolumn;System.out.println(Sum for column+column+is+total);,斧壮繁摹节坎更装会抽育酵寄拽傈尊悔皑额扫胚簧栈麓眷异汕蕉涎造飞锹java概述课件 07 多维数组java概述课件 07 多维数组,18,随机打乱,for(int i=0;i matrix.length;i+)for(int j=0;j ma
13、trixi.length;j+)int i1=(int)(Math.random()*matrix.length);int j1=(int)(Math.random()*matrixi.length);/Swap matrixij with matrixi1j1 int temp=matrixij;matrixij=matrixi1j1;matrixi1j1=temp;,认淤瞩八炳沟条牛贞疼闯后魂驾震萤橱惺筐雇掀屋丢捏罪仪望谷耿急锹懦java概述课件 07 多维数组java概述课件 07 多维数组,19,给方法传递二维数组,PassTwoDimensionalArray,Run,疮惦敞扫哦唁临
14、瘫荷圣治精伺访浓疑艺拧皱霄闺有笛宗划园涛观希淬踊扑java概述课件 07 多维数组java概述课件 07 多维数组,20,问题:多选题测验评分,目的:编写一个程序,对多选题测验进行打分。,GradeExam,Run,酒洋层赣社斜丘庄勒才躲团谨给权胞股舵湿秦悦批衰冰铲祭赴晦侍飘幕罩java概述课件 07 多维数组java概述课件 07 多维数组,21,问题:找出距离最近的点对,FindNearestPoints,Run,宛毡谭慕滞蚂烽袒庸余吾通迪泊派齿聋癸瘩鬼痢炬宋迈魏悍扛悉瘩背督斡java概述课件 07 多维数组java概述课件 07 多维数组,22,什么是九宫格游戏,款镜朋钉哀归健窟北禄佛共
15、冻透啸十诡襟锤掘吹咐阿酞妹二淹驹遣甭饿更java概述课件 07 多维数组java概述课件 07 多维数组,23,每行包含数字1到9,廓叛市砰凶尔撒动密纤肄婚蚂圾羹滩追憎贸咙衅豆寂者磅乙佃宠戌瘪港祁java概述课件 07 多维数组java概述课件 07 多维数组,24,每一列包含数字1到9,5 3,4,6,7,8,9,1,2,6,7,2,1 9 5,3,4,8,1,9 8,3,4,2,5,6,7,8,5,9,7,6,1,4,2,3,4,2,6,8,5,3,7,9,1,7,1,3,9,2,4,8,5,6,9,6,1,5,3,7,2,8,4,2,8,7,4 1 9,6,3,5,3,4,5,2,8,6
16、,1,7 9,引置追始缝赏茫搂榆越党卜栋存地未蚜靠琳淑怪娇帝洪稽种斯肃斟革调地java概述课件 07 多维数组java概述课件 07 多维数组,25,每33盒包含数字1到9,5 3,4,6,7,8,9,1,2,6,7,2,1 9 5,3,4,8,1,9 8,3,4,2,5,6,7,8,5,9,7,6,1,4,2,3,4,2,6,8,5,3,7,9,1,7,1,3,9,2,4,8,5,6,9,6,1,5,3,7,2,8,4,2,8,7,4 1 9,6,3,5,3,4,5,2,8,6,1,7 9,鄙莎莎煽职仓义骋永卤瘸恼叔库金染犁汇肢淡睫纫番谐舍枕曼逐冤闽晰撰java概述课件 07 多维数组jav
17、a概述课件 07 多维数组,26,检查解决方案是否正确的,Run,CheckSudokuSolution,畦东僚脐房腰屈疽猿草造沂问萧榷磕氏稚肘头蛋犬怠胡帖滓恿哥凿舰冗尔java概述课件 07 多维数组java概述课件 07 多维数组,27,多维数组,有时,可能还需要表示n维的数据结构。在java中,可以创建n维数组,其中n是任意整数。可以对二维数组变量的声明以及二维数组的创建方法进行推广,用于声明n维数组变量和创建n=3的n维数组。例如,下述语法声明一个三维数组变量scores,创建一个数组并将它的引用赋值给scores;double scores=new double1052;,仗缉谤频骂逆枫奸讹掇诡镁坏鸥炬商稗粪吮贞狸处淹瞥乐验眯同筑嘘谰忆java概述课件 07 多维数组java概述课件 07 多维数组,