Java数组练习题带答案培训讲学_第1页
Java数组练习题带答案培训讲学_第2页
Java数组练习题带答案培训讲学_第3页
Java数组练习题带答案培训讲学_第4页
Java数组练习题带答案培训讲学_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、J a v a 数 组 练 习 题 ( 带答案)精品文档一 填空题1) 数组的元素通过 下标 来访问,数组 Array 的长度为 Array.length 。2) 数组复制时, = 将一个数组的 引用 传递给另一个数组。3) JVM将数组存储在 栈 (堆或栈 )中。4) 数组的二分查找法运用的前提条件是数组已经 排序 。5) Java中数组的下标的数据类型是 整型 。6) 数组最小的下标是 0 。7) arraycopy()的最后一个参数指明 复制元素的个数 。8) 向方法传递数组参数时,传递的是数组的 引用 。9) 数组初始化包括 数组的申明,创建和初始化 。10) 数组下标访问超出索引范围

2、时抛出 数组越界 异常11) 浮点型数组的默认值是 0.0f 。12) 数组创建后其大小 不能 改变。二 选择题1. 下面错误的初始化语句是 _ABD_A. char str=hello;B. char str100=hello;C. char str=h,e,l,l,o;D. char str=hello;2. 定义了一维 int 型数组 a10后,下面错误的引用是 _B_3. A. a0=1; B. a10=2; C. a0=5*2; D. a1=a2*a0;4. 下面的二维数组初始化语句中,正确的是 5. A. float b22=0.1,0.2,0.3,0.4;B. int a=1,2

3、,3,4;6. C. int a2= 1,2,3,4;D. float a22=0;7. 引用数组元素时,数组下标可以是 _D_8. A. 整型常量B. 整型变量C. 整型表达式D. 以上均a34前的数组元素个数为D. 17B_B. char str=h,e,l,l,o,0;D. char str100=;9. 定义了 int 型二维数组 a67 后,数组元素A. 24B. 25 C. 1810. 下列初始化字符数组的语句中,正确的是11. A. char str5=hello;12. C. char str5=hi;C. 堆 D. 链表13. 数组在 Java中储存在 C 中14. A. 栈

4、B. 队列15. 下面程序的运行结果是 main() int a=1,2,3,4,5,6;System.out.printf(%d, a11);A. 3 B. 4 C. 5 D. 616. 下面程序的运行结果是 _C收集于网络,如有侵权请联系管理员删除精品文档17. main() int x=30;int numbers=new intx; x=60;System.out.println(numbers.length);A. 60 B. 20 C. 30 D. 5018. 下面程序的运行结果是 _BDF_19. main() 20. char s1=ABCDEF.toCharArray();2

5、1. int i=0;22. while(s1i+!=0)System.out.println(s1i+);A. ABCDEFB. BDF C. ABCDE23.下面 不是创建数组的正确语句 C 24. A.float f=new float66; 25. C.float f=new float6; 26. 下面不是数组复制方法的是 (C)A. 用循环语句逐个复制数组C. 用= 进行复制 27.数组 a的第三个元素表示为 DA. a(3)B. a328. 当访问无效的数组下标时,会发生A. 中止程序B. 抛出异常D. BCDEB.float f=new float6;D.float f=new

6、 float6;B. 用方法 arraycopyD. a2D. 直接跳过D. 用 clone 方法C.a(2)BC. 系统崩溃29. 使用 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)30. 关于数组默认值,错误的是 BA. char-u0000B. Boolean-true C. float-0.0fD. int- 031. 关于数组作

7、为方法的参数时,向方法传递的是 AA. 数组的引用B.数 组的栈地址 C.数 组自身D.数 组的元素32. 关于数组复制,下列说法错误的是 ACA. =可以实现数组复制B. 运用循环语句进行数组复制必须两个数组长度相同C. arraycopy(方) 法没有给目标数组分配内存空间D. 数组复制是数组引用的传递33. 下列语句会造成数组 new int10越界是 D收集于网络,如有侵权请联系管理员删除精品文档A. a0 += 9; B. a9=10;C. a9D. for(int i=0;i=10;i+) ai+;34. 在 JDK环境下编译 JAVA源程序使用的命令是 (B )A.java B.

8、javacC.jvmD.tomcatD. 子类不能使用父类的构造方法35. main 方法是 java Application 程序执行的入口点。关于 main 方法放入方法 以下合法的是 ( )A. public static void main();B. public static void main(Stringargs)C. public static int main(String arg) D. public void main(String arg)36. 执行完代码 int x=new int25; 后以下 ( A )说明正确的A. x24为 0B. x24未定义C. x25为

9、 0D. x0为空37. 关于数组排序方法,错误的是 CA. 选择排序B.插 入排序C. 二分排序D. 用 arrays.sort( )排序38. 关于 char 类型的数组,说法正确的是 DA. 其数组的默认值是 AB. 可以仅通过数组名来访问数组C. 数组不能转换为字符串D. 可以存储整型数值39. 对于数组 a10,下列表示错误的是 BA. a0 B. a(0) C. a9 D. a140. 下列数组声明,下列表示错误的是A. int a B. int a C. int a D. inta三、是非题1. 下标用于指出数组中某个元素位置的数字。 ( )2. 把数组中元素按某种顺序排列的过程

10、叫做查找。 ( )3. 确定数组中是否含有某个关键字的过程叫做排序。 ( )4. 一个数组可以存放许多不同类型的数值。 ( )5. 数组的下标通常是 float 型。 ( )6. 数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕 时,这个元素中含有修改过的数值。 ( )7. 数组可以声明为任何数据类型。 ( )8. 数组由具有一名字和相同类型的一组连续内存单元构成。 ( )9. 在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数 组大小只能由用户来决定。 ( )10. 将一个数组传递给一个方法,必须加在数组名后加方括号。 ( )11. Java语言中的数组元素

11、下标总是从 0 开始,下标可以是整数或整型表达式。 ( )12. 下面这条语句正确吗? ( ) double myList;收集于网络,如有侵权请联系管理员删除精品文档myList = 1.9, 2.9, 3.5, 4.6;14. 数组中有 length()这个方法,如 array.length()表示数组 array 中元素的个数 ( )15. 下面这条语句正确吗 ?( )int t32 = 1,2,3,4,5,6;16. 数组声明后其大小固定。 ( )17. 设有整型数组的定义: int A.=new int8; ,则 a.length 的值为 7。( )18. 数组一旦创建,其大小不能再

12、改变。 ( )19. 用任何方式创建数组时,都必须指定数组的长度。 ( )20. 声明数组时,要指定数组长度,以便为数组分配内存。 ( )四、简答题1. 如何声明和创建一个一维数组?2. 如何访问数组的元素?3. 数组下标的类型是什么?最小的下标是什么?一维数组a 的第三个元素如何表示?4. 数组越界访问会发生什么错误?怎样避免该错误?5. 给方法传递数组参数与传递基本数据类型变量的值有何不同?6. 复制数组有哪些方法?8.声明数组变量会为数组分配内存空间吗?为什么?五、程序题1.有一个整数数组,其中存放着序列 1,3,5,7,9,11,13,15,17, 19。 请将该序列倒序存放并输出。1

13、) public class Test 2) public static void main(String args) 3) int a = 1,3,5,7,9,11,13,15,17,19;4) int t;5) System.out.println(数组的初始状态为 :);6) for (int i=0; i a.length; i+)7) System.out.print( + ai);8) System.out.println();9)10) for (int i=0; i a.length/2; i+) 11) t = ai;12) ai = aa.length-i-1;13) aa

14、.length-i-1=t;14) 15)16) System.out.println(数组逆序存放后的状态为:);17) for (int i=0; i a.length; i+)18) System.out.print( + ai);收集于网络,如有侵权请联系管理员删除精品文档19) 20) 2.编写一个程序,提示用户输入学生数量 姓名和他们的成绩,并按照成绩的降 序来打印学生的姓名。1) public class exercise16 2) public static void main(String args) 3) String numberString =4) JOptionPan

15、e.showInputDialog(Enter the number of students);5) int numberOfStudents = Integer.parseInt(numberString);6)7) String names = new StringnumberOfStudents;8) double scores = new doublenumberOfStudents;9)10) for (int i = 0; i = 1; i-) 17) double currentMax = scores0;18) int currentMaxIndex = 0;19)20)for

16、 (int j = 1; j = i; j+) 21) if (currentMax = 0; i-) 37) System.out.println(namesi + t + scoresi);38) 39) 收集于网络,如有侵权请联系管理员删除精品文档40) 3.编写一个程序,使它能够读入 10 个整数,并且存储其中互不相同的数,最后将这 10 个数输出。1)import javax.swing.JOptionPane;2)3)public class exercise5 4)private static int j = 0;5)6)public static void main(Strin

17、g args) 7)int arrayInt = new int10;8)int i = 0;9)10)do 11)String numberString = JOptionPane12).showInputDialog(Enter a number: );13)14)int number = Integer.parseInt(numberString);15)16)if (isNotHave(arrayInt, number) 17)arrayInti = number;18)i+;19)j+;20)21)else22)23)do 24)numberString = JOptionPane2

18、5).showInputDialog(This numberis exit,enter a another number: );26)number = Integer.parseInt(numberString);27) while (!isNotHave(arrayInt, number);28)29)arrayInti = number;30)i+;31)j+;32)33) while (i arrayInt.length);34)35)String output = ;36)for (int k : arrayInt) 37)output += k + ;38)39)收集于网络,如有侵权

19、请联系管理员删除精品文档40) JOptionPane.showMessageDialog(null, The elements of arrayInt is 41) + output, output arrayInt,JOptionPane.INFORMATION_MESSAGE);42) 43)44) public static boolean isNotHave(int arrayInt, int n) 45) for (int i = 0; i j; i+) 46) if (arrayInti = n)47) return false;48) 49) return true;50) 5

20、1) 4.先对数组 1,3,9,5,6,7,1, 5, 4, 8进行排序,然后二分查找法找出数 组中的元素 8,标出其排序后其下标的位置。1) public class Test 2)3)4)5)public static void main(String args) int numbers = 1,3,9,5,6,7,1,5,4,8; java.util.Arrays.sort(numbers);6)System.out.println(排序后的数组为 :);7)8)9)10)11)for (int i=0; i low) mid = (mid = (low + high) / 2) ? (

21、mid + 1) : (low + high) / 2);if (key = 0);15)16) double average = (sum - scorescount) / (count - 1);17)18) int numOfAbove = 0;19) int numOfBelow = 0;20) for (int i = 0; i = average)22) numOfAbove+;23) else24) numOfBelow+;25)26) System.out.println(Average is + average);27) System.out.println(Number o

22、f scores above or equal to the average 28) + numOfAbove);29) System.out.println(Number of scores below the average 30) + numOfBelow);31)32) System.exit(0);33) 34) 收集于网络,如有侵权请联系管理员删除精品文档6.编写一个程序,生成 0-9之间的 100 个随机整数并且显示每一个数的个数1) public class exercise7 2)3)4)5)6)7)8)9)10)11)12)13)14)15)16)17)18)19)20)2

23、1)22)23)24)25)public static void main(String args) int numbers = new int100; int counts = new int10;int k;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(

24、numbersi-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 + );26) 7. 求平均值和方差。利用 mean(int numbers) 求平均值,利用 deviation(int numbers)求标准差。1) import java.util.Scanner;2) public class MeanDeviatio

25、n 3)4)5)public static void main(String args) Scanner in = new Scanner(System.in);6)System.out.print(输入数组的长度 :);7)8)int n = in.nextInt();9)System.out.print(输入数组元素 :);10)11)int array = new intn;for (int i = 0; i array.length; i+)收集于网络,如有侵权请联系管理员删除精品文档12)13)arrayi = in.nextInt();14)15)16)System.out.print(The mean is: + mean(array) + n17)+ The

温馨提示

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

评论

0/150

提交评论