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

下载本文档

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

文档简介

1、填空题1)数组的元素通过下标来访问,数组Array的长度为Array.length。2)数组复制时,“二”将一个数组的引用传递给另一个数组。3)没有显式引用变量的数组称为匿名 数组。4) JVM将数组存储在 堆(堆或栈)中。5)数组的二分查找法运用的前提条件是数组已经排序。6)矩阵或表格一般用维数组表示。7)如果把二维数组看成一维数组,那么数组的元素是一维 数组。8) Java中数组的下标的数据类型是整型 。9)不用下标变量就可以访问数组的方法是foreach循环。10)数组最小的下标是2。11) array copy()的最后一个参数指明复制元素的个数。12)向方法传递数组参数时,传递的是数

2、组的引用。13)线性查找法的平均查找长度为 n*(n-1)/2。14)数组初始化包括 数组声明、创建和初始化。15)数组下标访问超出索引范围时抛出arrayIndexOutOfBoundsException异常16)浮点型数组的默认值是0.0f。17)对象型数组的默认值是nuilo18)对象类型的数组虽然被默认初始化,但是并没有调用其构造函数。19)二维数组的行的长度可以不同。20)数组创建后其大小不能改变。选择题.下面错误的初始化语句是_D_char str=hello;char str100=hello;char str=h,e,T,T,o;char str=hello;.定义了一维int

3、型数组a10后,下面错误的引用是_Ba0=1;a10=2;a0=5*2;a1=a2*a0;.下面的二维数组初始化语句中,错误的是_BA) float b22=0.1,0.2,0.3,0.4;int a2=1,2,3,4;int a2= 1,2,3,4;float a22=0;4,引用数组元素时,数组下标可以是 _DA)整型常量B)整型变量 C)整型表达式 D)以上均可.定义了 int型二维数组a67后,数组元素a34前的数组元素个数为 _B,A) 24 B) 25 C) 18 D) 17.下列初始化字符数组的语句中,错误的是_Cchar str5=hello;char str=h,e,T,T,

4、o,0;char str5=hi;char str100=;.数组在Java中储存在C中A)栈 B)队列 C)堆 D)链表.下面程序的运行结果是_Cmain()int x=30;Int numbers=new intx;X=60;System.out.println(numbers.length);A) 60 B) 20 C) 30 D) 509、下面 不是创建数组的正确语句 CA) float f=new float66; B ) float f=new float6;C ) float f=new float口6; D ) float f=new float6口;.下面不是数组复制方法的是

5、(C)A用循环语句逐个复制数组B用方法arraycopyC用“二”进行复制D用clone方法11数组a的第三个元素表示DA a(3)B a3Ca(2)D a2.当访问无效的数组下标时,会发生 BA中止程序B抛出异常C系统崩溃D直接跳过.使用arraycopy()方法将数组a复制到b正确的是AA arraycopy(a,0,b,0,a.length)B arraycopy(a,0,b,0,b.length)C arraycopy(b,0,a,0,a.length)D arraycopy(a,1,b,1,a.length).关于数组默认值,错误的是 BAchar-u0000BBoolean-tru

6、eCfloat-0.0fDint- 0.关于数组作为方法的参数时,向方法传递的是AA数组的引用B数组的栈地址C数组自身D数组的元素.关于数组复制,下列说法错误的是CA “二”可以实现数组复制B运用循环语句进行数组复制必须两个数组长度相同C arraycopy()方法没有给目标数组分配内存空间D数组复制是数组引用的传递.下列语句会造成数组new int10越界是DA a0+=9;B a9=10;Ca9D for(int i=0;i=10;i+)ai+;. main方法是java Application程序执行的入口点。关于main方法放入方法以 下合法的是BApublicstaticvoid m

7、ain();Bpublicstaticvoid main(Stringargs)Cpublicstaticint main(Stringarg)Dpublicvoid main(String arg).如定义对象 StringBuffer ch = new StringBuffer( Shanghai )贝U ch. length()=( B )A. 7B.8C.9D.23.执行完代码“intx=newint25;后以下(A)说明正确的A.x24为 0Bx24未定义 C x25为 0 D。x0为空.关于char类型的数组,说法正确的是 BA其数组的默认值是AB可以仅通过数组名来访问数组C数组不

8、能转换为字符用D可以存储整型数值.对于数组a10,下列表示错误的是BA a0Ca923.下列数组声明A int a Cint aB a(0)D a1DB int a Dinta是非题.下标用于指出数组中某个元素位置的数字。(F ).把数组中元素按某种顺序排列的过程叫做查找。(T ).确定数组中是否含有某个关键字的过程叫做排序。(F ).一个数组可以存放许多不同类型的数值。(F ).数组的下标通常是float型。(F ).数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕 时,这个元素中含有修改过的数值。(F ).数组可以声明为任何数据类型。(T ).数组由具有一名字和相同类型的

9、一组连续内存单元构成。(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 ).下面这条语句正确吗?(

10、F )int t32 = 1,2,3,4,5,6;.数组声明后其大小固定。(F ).设有整型数组的定义:int a=new int8;,则a.length的值为7。( F).数组一旦创建,其大小不能再改变。(T ).用任何方式创建数组时,都必须指定数组的长度。(F ).声明数组时,要指定数组长度,以便为数组分配内存。(F ) 简答题.如何声明和创建一个一维数组?答:声明数组:数据类型 口数组名或 数据类型数组名口 创建数组:数据类型口数组名 =new数据类型数组长度.如何访问数组的元素?答:数组的元素通过下标来访问,数组的下标是基于0的,它们从0开始到arrayObject.lenth-1 结

11、束。.数组下标的类型是什么?最小的下标是什么? 一维数组a的第三个元素如何表示?答:数组下标的类型是整型,最小的下标是0,数组a的第三个元素表示为a20.数组越界访问会发生什么错误?怎样避免该错误?答:越界访问数组会发生编译错误,它引出一个运行错误ArrayIndexOutOfBoundsException。为避免错误的发生,在使用时应确保下标不 超过数组长度减1.给方法传递数组参数与传递基本数据类型变量的值有何不同?答:对于基本数据类型参数,传递的是实参的值;对于数组类型的参数,参数值是数组的引用,给方法传递的是这个引用。.复制数组有哪些方法?答:复制数组有3种方法:(1)用循环语句分别复制

12、数组的每一个元素;(2)使用System类中的静态方法arraycopy;(3)使用clone方法复制数组。7.数组创建后,其元素被赋予的默认值有哪些?答:数值型基本数据类型默认值为0, char型为u0000, boolean为 false。.如何声明和创建一个二维数组?答:声明数组:数据类型数组名创建数组:数组名 =new数据类型元素个数元素个数.声明数组变量会为数组分配内存空间吗?为什么?答:不会。数组变量不是基本数据类型变量,数组变量包含一个数组的引用,不 同于声明基本类型变量,声明数组变量并不给数组分配任何空间。.一个二维数组的行可以有不同的长度吗?如果可以,试创建一个此类型的数 组

13、。答:可以。创建的数组如下:int triangleArray = new int5triangleArray0 = new int5;triangleArray1 = new int4;triangleArray2 = new int3;triangleArray3 = new int2;triangleArray4 = new int1;程序题1.有一个整数数组,其中存放着序列1, 3, 5, 7, 9, 11, 13, 15, 17, 19。请将该序列倒序存放并输出。程序代码:public class Test public static void main(String args) i

14、nt a = 1,3,5,7,9,11,13,15,17,19;int t;System.out.println(数组的初始状态为:);for (int i=0; i a.length; i+)System.out.print( + ai);System.out.println();for (int i=0; i a.length/2; i+) t = ai;ai = aa.length-i-1;aa.length-i-1=t;System.out.println(数组逆序存放后的状态为:);for (int i=0; i a.length; i+)System.out.print( + ai

15、);2.编写一个程序,提示用户输入学生数量、姓名和他们的成绩,并按照成绩的降 序来打印学生的姓名。程序代码:import javax.swing.JOptionPane;public class exercise16 public static void main(String args) String numberString =JOptionPane.showInputDialog(Enter the number of students);int numberOfStudents = Integer.parseInt(numberString);String names = new St

16、ringnumberOfStudents;double scores = new doublenumberOfStudents;for (int i = 0; i = 1; i-) double currentMax = scores0;int currentMaxIndex = 0;for (int j = 1; j = i; j+) if (currentMax = 0; i-) System.out.println(namesi + t + scoresi);8.编写一个程序,生成0-9之间的100个随机整数并且显示每一个数的个数。程序代码:public class exercise7

17、public static void main(String args) int口 numbers = new int100;int counts = new int10; TOC o 1-5 h z intk;for(int i = 0; i 100; i+)numbersi = (int)(Math.random() * 10);countsnumbersi+;System.out.println(the 100 numbers is :);for(int i = 1; i = numbers.length; i+)if (i % 10 != 0)System.out.print(numb

18、ersi-1 + );elseSystem.out.println(numbersi-1);)System.out.println(the counts of each number is :);for(int i = 1; i = counts.length; i+)System.out.print(countsi-1 + );)3.编写一个程序,求出整数数组中最小元素的下标。如果这样的元素个数大于1, 则返回下标最小的数的下标。程序代码:public class MinIndex public static void main(String args) int list = 1,2, 4,

19、 5, 10, 100, 2,-22;System.out.println(The min is + minlndex(list);public static int minlndex(int list) int min = list0;int minlndex = 0;for (int i = 1; i listi) min = listi;minlndex = i;return minlndex;.现在有如下的一个数组:int oldArr=1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5;要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成 的新数组为:int

20、 newArr=1,3,4,5,6,6,5,4,7,6,7,5;思路:生活中的问题解决=程序中的解决;1、确定出不为0的个数,这样可以开辟新数组;2、从旧的数组之中,取出内容,并将其赋给新开辟的数组; public class MyDemo public static void main(String args)int oldArr = 1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5;int newArr = new intcount(oldArr) ;/ 新数组fun(oldArr,newArr);print(newArr) ;public static void fun(int src,int data)int foot = 0 ; /控制新数组的脚标,datafor(int x = 0 ; x src.length; x+)if(srcx != 0)datafoot+ = srcx ;public static int count(int temp)int num = 0 ;for(int x = 0 ; x temp.length; x+)if(tempx != 0)num + ;/统计个数return num ;public static void print(int temp)for

温馨提示

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

评论

0/150

提交评论