预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验4Java数组练习实验目的及要求1.学习并实践Java数组编程方法。2.学习并实践一维数组简单应用。实验内容及步骤1.补充知识⑴包装类及其数据汲取方法在实验3补充知识2以回车为循环结束标志的成组数据的输入中,用到了包装类Integre及其数据汲取方法parseInt,由于本实验仍将涉及以回车为循环结束标志的成组数据的输入,故这里再对它做进一步的介绍。每种标准数据类型都对应一个“包装类”,它是在封装该类型一个变量的基础上做成的类,其中包含一系列处理该类型数据的方法,其中之一便是“汲取(parse)”,意为从包含某类型一个数据的字符串中将该数据提取出来。下表列出了对应于几种标准数据类型的包装类及其数据汲取方法:数据类型包装类汲取方法(原型)调用实例byteBytebyteparseByte(Stringstr)byteb=Byte.parseByte("127");shortShortshortparseShort(Stringstr)shorts=Short.parseShort("32767");intIntegerintparseInt(Stringstr)inti=Integer.parseInt("2147483647");longLonglongparseLong(Stringstr)longl=Long.parseLong("123456");floatFloatfloatparseFloat(Stringstr)floatf=Float.parseFloat("3.1416");doubleDoubledoubleparseDouble(Stringstr)doubled=Double.parseDouble("3e1");除了汲取外,不同类型的包装类中还有与该类型适应的一些其它方法,例如对于1~4字节整型来说,可以通过Integer.toHexString和Integer.toBinaryString方法,分别让一个整数以十六进制和二进制字符串形式输出,等等。⑵数组的复制和元素排序①数组的复制复制一个数组,是指在另一个数组中形成该数组全部或部分数据的拷贝,教材上介绍了arraycopy方法(使用此方法时需要在源文件头部增加语句importjava.util.Arrays;):System.arraycopy(arrSrc,start,arrObj,begin,length);其中arrSrc——源数组(任意类型)start——源数组开始元素下标(int)arrObj——目标数组(任意类型)begin——目标数组开始元素下标(int)length——复制元素数目(int)例如:intx[]={0,1,2,3,4};inty[]=newint[6];System.arraycopy(x,0,y,0,5);把数组x中的5个数据复制给数组y的前5个元素。除此之外,还有一种更加简便也更加符合面向对象习惯的方法clone(克隆),用法是:arrObj=arrSrc.clone();其中arrObj——目标数组(任意类型)arrSrc——源数组(任意类型)例如:intx[]={0,1,2,3,4};inty[]=x.clone();把数组x中的5个数据复制到数组y中。注意:与arraycopy不同,克隆之前的目标数组只是一个引用,即并未在堆中为其分配内存,克隆是将源数组的内存及其中的数据原原本本地复制到y中,而不像.arraycopy那样,在两个已分配内存的数组之间连续地复制指定的数据。②数组元素的排序对数组元素排序,可采用教材上介绍的java.util.Arrays类中的静态方法sort:voidArrays.sort(arr);其中arr——待排序的数组(任意类型)然而,按照上述原型调用sort,元素只能按自小到大的升序排列,如果要求数组元素按自大到小的降序排列,就得调用sort的另一个重载版本了,这个问题以后再说。⑶多边形面积的计算根据顶点坐标计算多边形面积的公式为:其中(xi,yi)是多边形第i个顶点的坐标。下例是用数组保存顶点坐标,按此公式计算一个多边形的面积的程序:publicclassPolygonArea{publicstaticvoidmain(String[]args){intn=4;intx[]={100,300,300,100};//建立4个元素的double型数组xinty[]={100,100,300,300};//建立4个元素的double型数组y//计算以(x[i],y[i])为顶点的多边形的面积:doubles=0;for(inti=0;i<n;i