实验3-方法和数组.doc
《实验3-方法和数组.doc》由会员分享,可在线阅读,更多相关《实验3-方法和数组.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 . . . . #大学计算机与信息技术学院实验报告姓 名学 号专业班级课程名称 Java实验实验日期成 绩指导教师批改日期实验名称实验3方法和数组实验目的:(1)掌握一维数组和二维数组的定义、初始化方法。(2)了解和初步应用java.lang.Math类的random()方法处理实际问题。(3)了解增强for循环,并使用增强for循环顺序访问数组元素。(4)掌握String类中split方法、charAt方法以与length方法的使用。(5)掌握Double、Integer等数据包装类的parseDouble、parseInt等方法。(6)掌握数组的length属性的应用实验容:(要求把源程
2、序和运行结果图都粘贴到实验报告中)(1)分别用一维数组(例子数组如下 7, 4, 3, 9, 0, 6 )实现冒泡排序、选择排序和插入排序中的两种排序算法,程序中要求加注释。程序代码:1. 选择排序importjava.util.*;publicclass LX3_1 publicstaticvoid main(String args) double text= 7, 4, 3, 9, 0, 6;SelectionSort(text);publicstaticvoid SelectionSort(double list)for(int i=0;ilist.length-1;i+) /第一层循环
3、,控制拍第x数double currentMin=listi; /currentMin存储现有的最小值int currentMinIndex=i; /最小值的位置for(int j=i+1;jlistj) /如果有比他小的currentMin=listj; /吧此时的值放入currentMincurrentMinIndex=j; /记下此时的位置if(currentMinIndex !=i)listcurrentMinIndex=listi;listi=currentMin; /交换位置System.out.println(排序结果是:);for(int i=0;ilist.length;i+
4、)System.out.print( +listi); /输出已排序数组运行结果贴图:2. 插入排序importjava.util.*;publicclass LX3_2 publicstaticvoid main(String args) double text= 7, 4, 3, 9, 0, 6;insertionSort(text);publicstaticvoid insertionSort(double list)for(int i=1;i=0&listkcurrentElement;k-) listk+1=listk; /移动出插入位置listk+1=currentElement;
5、 /放入插入数据System.out.println(排序结果是:);for(int i=0;ilist.length;i+)System.out.print( +listi); /输出已排序数组运行结果贴图:3冒泡排序importjava.util.*;publicclass LX3_3 publicstaticvoid main(String args) double text= 7, 4, 3, 9, 0, 6;Sort(text);publicstaticvoid Sort(double list)for(int i=0;ii;j-) /length-1 length超出围if(lis
6、tjlistj-1)double t=listj;listj=listj-1;listj-1=t;System.out.println(排序结果是:);for(int i=0;ilist.length;i+)System.out.print( +listi); /输出已排序数组运行结果贴图:(2)编写程序实现两个矩阵的相加、相乘。要求程序运行结果形如如下显示:Array c1 2 34 5 67 8 9Array d2 2 21 1 13 3 3Array c+d3 4 55 6 710 11 12Array c*d 13 13 13 31 31 31 49 49 49程序代码:publicc
7、lass LX3_4 /* * param args */publicstaticvoid main(String args) int c = 1, 2, 3 , 4, 5, 6 , 7, 8, 9 ;int d = 2, 2, 2 , 1, 1, 1 , 3, 3, 3 ; System.out.println(Array c);shuChu(c); System.out.println(Array d);shuChu(d); System.out.println(Array c+d);Add(c,d); System.out.println(Array c*d);Cheng(c,d);/
8、TODO Auto-generated method stubpublicstaticvoid shuChu(int shuChu) for (int i = 0; i 3; i+) for (int j = 0; j 3; j+) System.out.printf(%4d,shuChuij);System.out.println();publicstaticvoid Add(int add1, int add2) int Answer = newint33;for (int i = 0; i 3; i+) for (int j = 0; j 3; j+) Answerij = add1ij
9、 + add2ij;shuChu(Answer);publicstaticvoid Cheng(int cheng1, int cheng2) int Answer = newint33;for (int i = 0; i 3; i+) for (int j = 0; j 3; j+) Answerij = cheng1i0 * cheng20j + cheng1i1* cheng21j + cheng1i2 * cheng22j;shuChu(Answer);运行结果贴图:(3)将用“;”和“,”分割的包含数字字符的字符串“23,21.3,33;34,2,1.9,2.1;3,3,1,3,4,
10、4.9”中的数据解析出来放在一个double类型的二维数组中,以分号分割二维数组的每一行,以逗号分割每行中的各个元素。(利用String 的split方法)程序代码:importjavax.swing.plaf.basic.BasicBorders.SplitPaneBorder;publicclass LX3_5 /* * param args */publicstaticvoid main(String args) String a = 23,21.3,33;34,2,1.9,2.1;3,3,1,3,4,4.9.split(;);String b = new String3;for (in
11、t i = 0; i a.length; i+) bi = ai.split(,); / 第i行的值,且split仅能放入Stringl类型double c = newdouble38;/第二个必须有围,否则无法运行for (int i = 0; i 3; i+) for (int j = 0; j bi.length; j+) cij = Double.parseDouble(bij);System.out.printf(%-8.1f,cij);System.out.println();/ TODO Auto-generated method stub运行结果贴图:(4)查看帮助、编写例子利
12、用System类中的arraycopy()方法复制数组。分别用Arrays类中的sort方法和binarySearch方法实现数组的排序和折半查找。程序代码:1. 复制数组:publicclass LX3_6 publicstaticvoid main(String args) int old = 1, 2, 3, 4, 5, 6, 7 ;int copy = newint7;System.arraycopy(old, 0, copy, 0, old.length);/ TODO Auto-generated method stubfor (int i = 0; i copy.length;
13、i+) System.out.println(copyi);运行结果贴图:2. 数组排序:import java.util.*;publicclass LX3_7 publicstaticvoid main(String args) double te = 7, 4, 3, 9, 0, 6 ;Arrays.sort(te); / 多种方法重载for (int i = 0; i te.length; i+) System.out.println(tei);运行结果贴图:3. 折半查找:import java.util.*;publicclass LX3_8 publicstaticvoid ma
14、in(String args) double te = 1, 9, 21, 31, 44, 56, 78, 99 ;System.out.println(请输入要查找的数);Scanner input = new Scanner(System.in);int i = input.nextInt();System.out.println(Arrays.binarySearch(te, i);运行结果贴图:(5)随机生成100个小写字母,统计每个字母出现的次数,并显示出来。(利用Math.random()方法随机产生)程序代码:publicclass LX3_9 publicstaticvoid
15、main(String args) char number = newchar100;for (int i = 0; i number.length; i+) numberi = (char) (a + Math.random() * (z - a + 1);CountNumber(number);publicstaticvoid CountNumber(char Count) int counts = newint26;for (int i = 0; i Count.length; i+) countsCounti - a+; /count字符减字符存到相应的位置SystemOut(coun
16、ts);publicstaticvoid SystemOut(int syso) for (int i = 0; i syso.length; i+) System.out.println(char) (i + a) + 出现的次数是: + sysoi);/i对应az运行结果贴图:(6)建立一个不规则的二维数组如下,并在控制台显示,数组如下 1 3 5 2 4 6 81 9 16 25 36 10 20 30 1 2 3 4 5 6程序代码:publicclass LX3_10 publicstaticvoid main(String args) int new1 = 1, 3, 5 , 2,
17、 4, 6, 8 , 1, 9, 16, 25, 36 , 10, 20, 30 , 1, 2, 3, 4, 5, 6 ;for (int i = 0; i 5; i+) for (int j = 0; j new1i.length; j+) System.out.printf(%-4d, new1ij);System.out.println();运行结果贴图:(7)编写两个重载的方法分别交换两个整型变量,和整型数组的第一个和第二个元素,运行并分析结果程序代码:publicclass LX3_11 publicstaticvoid main(String args) int a = 2, b
18、= 5;int c = 2, 5;Switch(a, b);Switch(c);publicstaticvoid Switch(int a, int b) int t;t = a;a = b;b = t;System.out.println(交换以后:);System.out.println(a= + a + b= + b);publicstaticvoid Switch(int a) int t;t = a0;a0 = a1;a1 = t;System.out.println(a0= + a0 + a1= + a1);运行结果贴图:课后作业题P1535.16 5.23 5.25P184 6.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 方法 数组
限制150内