Java-数组练习答案_第1页
Java-数组练习答案_第2页
Java-数组练习答案_第3页
Java-数组练习答案_第4页
Java-数组练习答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

填空题数组的元素通过下标_来访问,数组Array的长度为Array.length数组复制时,“=”将一个数组的_引用传递给另一个数组。没有显式引用变量的数组称为匿名数组。JVM将数组存储在堆(堆或栈)中。数组的二分查找法运用的前提条件是数组已经排序矩阵或表格一般用二_维数组表示。如果把二维数组看成一维数组,那么数组的元素是二维—数组。Java中数组的下标的数据类型是整型_。不用下标变量就可以访问数组的方法是—foreach循环数组最小的下标是0.0arraycopy()的最后一个参数指明复制元素的个数向方法传递数组参数时,传递的是数组的酬。线性查找法的平均查找长度为n*(n-l)/2。数组初始化包括数组声明、创建和初始化。数组下标访问超出索引范围时抛出arraylndexOutOfBoundsException异常浮点型数组的默认值是00f。对象型数组的默认值是nullo对象类型的数组虽然被默认初始化,但是并没有週血构造函数。二维数组的行的长度可以不同。数组创建后其大小丕能改变。选择题下面错误的初始化语句是_D__charstr[]="hello";charstr[100]="hello";charstr[]={'h','e','l','l','o'};charstr[]={'hello'};定义了一维int型数组a[10]后,下面错误的引用是_B_a[0]=1;a[10]=2;a[0]=5*2;a[1]=a[2]*a[0];下面的二维数组初始化语句中,错误的是_B—floatb[2][2]={0.1,0.2,0.3,0.4};inta[][2]={{1,2},{3,4}};inta[2][]={{1,2},{3,4}};floata[2][2]={0};引用数组元素时,数组下标可以是__D___A)整型常量B)整型变量C)整型表达式D)以上均可定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为_B_24B)25C)18D)17下列初始化字符数组的语句中,错误的是__C___charstr[5]="hello";charstr[]={'h','e','l','l','o','\0'};charstr[5]={"hi"};charstr[100]="";7.数组在Java中储存在C中A)栈B)队列C)堆D)链表8.下面程序的运行结果是__C___main(){intx=30;Int[]numbers=newint[x];X=60;System.out.println(numbers.length);}A)60B)20C)30D)50下面不是创建数组的正确语句CA)floatf[][]=newfloat[6][6];B)floatf[]=newfloat[6];C)floatf[][]=newfloat[][6];D)float[][]f=newfloat[6][];下面不是数组复制方法的是(C)A用循环语句逐个复制数组B用方法arraycopyC用“=”进行复制D用clone方法数组a的第三个元素表示DAa(3)Ba[3]Ca(2)Da[2]当访问无效的数组下标时,会发生BA中止程序B抛出异常C系统崩溃D直接跳过使用arraycopy()方法将数组a复制到b正确的是AAarraycopy(a,0,b,0,a.length)Barraycopy(a,0,b,0,b.length)Carraycopy(b,0,a,0,a.length)Darraycopy(a,1,b,1,a.length)关于数组默认值,错误的是BAchar--'"u0000'BBoolean--trueCfloat--0.0fDint--0关于数组作为方法的参数时,向方法传递的是AA数组的引用B数组的栈地址C数组自身D数组的元素关于数组复制,下列说法错误的是CA“=”可以实现数组复制B运用循环语句进行数组复制必须两个数组长度相同Carraycopy()方法没有给目标数组分配内存空间D数组复制是数组引用的传递下列语句会造成数组newint[10]越界是DAa[0]+=9;Ba[9]=10;C—a[9]Dfor(inti=0;i<=10;i++)a[i]++;18.main方法是javaApplication程序执行的入口点。关于main方法放入方法以下合法的是BApublicstaticvoidmain();Bpublicstaticvoidmain(String[]args)Cpublicstaticintmain(String[]arg)Dpublicvoidmain(Stringarg[])如定义对象StringBufferch=newStringBuffer(“Shanghai”)则ch.length()=(B)A.7B.8C.9D.23执行完代码“int[]x=newint[25]”后以下(A)说明正确的A.x[24]为0Bx[24]未定义Cx[25]为0D。x[0]为空关于char类型的数组,说法正确的是BA其数组的默认值是'A'B可以仅通过数组名来访问数组C数组不能转换为字符串D可以存储整型数值对于数组a[10],下列表示错误的是BAa[0]Ba(0)Ca[9]Da[1]下列数组声明,下列表示错误的是DAint[]aBinta[]Cint[][]aDint[]a[]是非题下标用于指出数组中某个元素位置的数字。(F)把数组中元素按某种顺序排列的过程叫做查找。(T)确定数组中是否含有某个关键字的过程叫做排序。(F)一个数组可以存放许多不同类型的数值。(F)数组的下标通常是float型。(F)数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过的数值。(F)数组可以声明为任何数据类型。(T)数组由具有一名字和相同类型的一组连续内存单元构成。(T)在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能由用户来决定。(F)将一个数组传递给一个方法,必须加在数组名后加方括号。(F)Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。(T)下面这条语句正确吗?(F)double[]myList;myList={1.9,2.9,3.5,4.6};Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。(T)数组中有length()这个方法,女口array.length()表示数组array中元素的个数(F)下面这条语句正确吗?(F)intt[3][2]={{1,2},{3,4},{5,6}};16.数组声明后其大小固定。(F)设有整型数组的定义:inta[]=newint⑻;,则a.length的值为7。(F数组一旦创建,其大小不能再改变。(T)用任何方式创建数组时,都必须指定数组的长度。(F)声明数组时,要指定数组长度,以便为数组分配内存。(F)简答题如何声明和创建一个一维数组?答:声明数组:数据类型[]数组名或数据类型数组名[]创建数组:数据类型[]数组名=new数据类型[数组长度]如何访问数组的元素?答:数组的元素通过下标来访问,数组的下标是基于0的,它们从0开始到arrayObject.lenth-1结束。3•数组下标的类型是什么?最小的下标是什么?一维数组a的第三个元素如何表示?答:数组下标的类型是整型,最小的下标是0,数组a的第三个元素表示为a[2]。数组越界访问会发生什么错误?怎样避免该错误?答:越界访问数组会发生编译错误,它引出一个运行错误ArraylndexOutOfBoundsException。为避免错误的发生,在使用时应确保下标不超过数组长度减1.给方法传递数组参数与传递基本数据类型变量的值有何不同?答:对于基本数据类型参数,传递的是实参的值;对于数组类型的参数,参数值是数组的引用,给方法传递的是这个引用。复制数组有哪些方法?答:复制数组有3种方法:用循环语句分别复制数组的每一个元素;使用System类中的静态方法arraycopy;(3)使用clone方法复制数组。数组创建后,其元素被赋予的默认值有哪些?答:数值型基本数据类型默认值为0,char型为'\u0000',boolean为false。如何声明和创建一个二维数组?答:声明数组:数据类型[][]数组名创建数组:数组名=new数据类型[元素个数][元素个数]声明数组变量会为数组分配内存空间吗?为什么?答:不会。数组变量不是基本数据类型变量,数组变量包含一个数组的引用,不同于声明基本类型变量,声明数组变量并不给数组分配任何空间。一个二维数组的行可以有不同的长度吗?如果可以,试创建一个此类型的数组。答:可以。创建的数组如下:int[][]triangleArray=newint[5][]triangleArray[0]=newint[5];triangleArray[1]=newint[4];triangleArray[2]=newint[3];triangleArray[3]=newint[2];triangleArray[4]=newint[1];程序题1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。程序代码:publicclassTest{publicstaticvoidmain(String[]args){inta[]={1,3,5,7,9,11,13,15,17,19};intt;System.out.println(“数组的初始状态为:");for(inti=0;i<a.length;i++)System.out.print(""+a[i]);System.out.println();9)for(inti=0;i<a.length/2;i++){t=a[i];a[i]=a[a.length-i-1];a[a.length-i-1]=t;}15)System.out.println(“数组逆序存放后的状态为:");for(inti=0;i<a.length;i++)System.out.print(""+a[i]);}}2.编写一个程序,提示用户输入学生数量、姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。程序代码:importjavax.swing.JOptionPane;2)publicclassexercise16{publicstaticvoidmain(String[]args){StringnumberString=JOptionPane.showInputDialog("Enterthenumberofstudents");intnumberOfStudents=Integer.parseInt(numberString);8)String[]names=newString[numberOfStudents];double[]scores=newdouble[numberOfStudents];11)11)}11)}12)12)13)14)15)16)17)18)19)20)21)22)23)24)25)26)27)28)29)30)31)32)33)34)35)36)37)for(inti=0;i<scores.length;i++){names[i]=JOptionPane.showInputDialog("Enterastudentname");scores[i]=Double.parseDouble(JOptionPane.showInputDialog("Enterastudentscore"));}for(inti=scores.length-1;i>=1;i--){doublecurrentMax=scores[0];intcurrentMaxIndex=0;for(intj=1;j<=i;j++){if(currentMax<scores[j]){currentMax=scores[j];currentMaxIndex=j;}}if(currentMaxIndex!=i){scores[currentMaxIndex]=scores[i];scores[i]=currentMax;Stringtemp=names[currentMaxIndex];names[currentMaxIndex]=names[i];names[i]=temp;}}for(inti=scores.length-1;i>=0;i--){System.out.println(names[i]+"\t"+scores[i]);}}}8.编写一个程序,生成0-9之间的100个随机整数并且显示每一个数的个数。程序代码:publicclassexercise7{publicstaticvoidmain(String[]args){int[]numbers=newint[100];int[]counts=newint[10];5)intk;for(inti=0;i<100;i++){numbers[i]=(int)(Math.random()*10);counts[numbers[i]]++;12)12)13)14)15)16)17)18)19)20)21)22)23)24)25)System.out.println("the100numbersis:");for(inti=1;i<=numbers.length;i++){if(i%10!=0)System.out.print(numbers[i-1]+"");elseSystem.out.println(numbers[i-1]);}System.out.println("thecountsofeachnumberis:");for(inti=1;i<=counts.length;i++)System.out.print(counts[i-1]+"");}26)}编写一个程序,求出整数数组中最小元素的下标。如果这样的元素个数大于1,则返回下标最小的数的下标。程序代码:1)publicclassMinIndex{publicstaticvoidmain(String[]args){int[]list={1,2,4,5,10,100,2,-22};4)System.out.println("Theminis"+minIndex(list));}7)publicstaticintminIndex(int[]list){intmin=list[0];intminIndex=0;11)for(inti=1;i<list.length;i++)if(min>list[i]){min=list[i];minIndex=i;}17)18)returnminIndex;19)}现在有如下的一个数组:intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:intnewArr[]={1,3,4,5,6,6,5,4,7,6,7,5};思路:生活中的问题解决=程序中的解决;1、确定出不为0的个数,这样可以开辟新数组;2、从旧的数组之中,取出内容,并将其赋给新开辟的数组publicclassMyDemo{publicstaticvoidmain(Stringargs[]){intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};intnewArr[]=newint[count(oldArr)];//新数组fun(oldArr,newArr);print(newArr);}publicstaticvoidfun(intsrc[],intdata[]){intfoot=0;//控制新数组的脚标,datafor(intx=0;x<src.length;x++){if(src[x]!=0){data[foot++]=src[x];}}}publicstaticintcount(inttemp[]){intnum=0;for(intx=0;x<temp.length;x++){if(temp[x]!=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论