Java数组练习题(带答案)_第1页
Java数组练习题(带答案)_第2页
Java数组练习题(带答案)_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、For personal use only in study and research; not for commercial useFor personal use only in study and research; not for commercial use 一 填空题数组的元素通过 下标来访问,数组的长度为Array.length。数组复制时将一个数组的引用传递给另一个数组。JVM 将数组存储在 栈堆或中。数组的二分查找法运用的前提条件是数组已经 排序。中数组的下标的数据类型是 整型。数组最小的下标0。arraycopy)最后一个参数指 复制元素的个数。向方法传递数组参数时,传递的

2、是数组引用。数组初始化包数组的申明,创建和初始化。数组下标访问超出索引范围时抛数组越界异常浮点型数组的默认值0.0f 。数组创建后其大不能改变二 选择题下面错误的初始化语句_ABD char str=hello;B. char str100=hello; C. char str=h,e,l,l,har str=hello;定义了一维in型数组a10后,下面错误的引用_B A. a0=1;B. C. a0=5*2;D. a1=a2*a0;下面的二维数组初始化语句中,正确的 A. float b22=0.1,0.2,0.3,0.4B.; int a=1,2,3,4;C. int a2= 1,2,3

3、,4;D. float a22=0;引用数组元素时,数组下标可以_D 整型常量整型变量整型表达式D.以上均可定义了型二维数组,数组元素的数组元素个数 2425C. 18D. 17下列初始化字符数组的语句中,正确的B char str5=hello;C. char str5=hi;数组在中储存C中B. char str=h,e,l,l,o,0;D. char str100=;栈队列堆D.链表下面程序的运行结果main() int a=1,2,3,4,5,6;System.out.printf(%d, a11);A. 3B. 4C. 5D. 6下面程序的运行结果_C main() int x=30

4、;int numbers=new intx; x=60;System.out.println(numbers.length);A. 60 B. 20 C. 30 D. 50下面程序的运行结果BDF main() char s1=ABCDEF.toCharArray(); int i=0;while(s1i+!=0) System.out.println(s1i+);ABCDEFB. BDF C. ABCDED. BCDE下面不是创建数组的正确语句Cfloat f=new float66;C.float f=new float6;(C)用循环语句逐个复制数组C. 用=进行复制数组a的第三个元素表

5、示为D A. a(3)B. 当访问无效的数组下标时,会发生B.float f=new float6; D.float f=new float6;B. 用方法arraycopyD. 用 clone方法C.a(2)D. a2A.中止程序B.抛出异常C.系统崩溃D.直接跳过使用arraycopya复制到b正确的是Aarraycopy(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)关于数组默认值,错误的是 Bchar-u0000B.

6、 Boolean-trueC. float-0.0fD. int- 0A数组的引用B.数组的栈地址C.数组自身D.数组的元素关于数组复制,下列说法错误的是AC运用循环语句进行数组复制必须两个数组长度相同arraycop数组复制是数组引用的传递下列语句会造成数组new DA. a0 += 9;B. a9=10;D. for(int JDKJAVA(B )javaC.jvmD.tomcatD. 子类不能使用父类的构造方法main方法是java Applicato序执行的入口点关于main方法放入方法以下合法的 ()public static void main(. public static vo

7、id main(Stringargs)C. public static int main(String arg) D. public void main(String arg)int x=new AA. x20B. x2定义C. x20D. x空C选择排序B.插入排序C.二分排序charDD.用arrays.sorA.其数组的默认值AB.可以仅通过数组名来访问数组C.数组不能转换为字符串D.可以存储整型数值对于数组a10BA. a0B. a(0)下列数组声明,下列表示错误的是int aB. int 三、是非题C. a9D. a1C. int aD. inta下标用于指出数组中某个元素位置的数字

8、()把数组中元素按某种顺序排列的过程叫做查找()确定数组中是否含有某个关键字的过程叫做排序()一个数组可以存放许多不同类型的数值()数组的下标通常是floa型。()数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元 中含有修改过的数值()数组可以声明为任何数据类型()数组由具有一名字和相同类型的一组连续内存单元构成()在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素该数组大小只能 用户来决定()将一个数组传递给一个方法,必须加在数组名后加方括号()语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式()下面这条语句正确吗double myList;

9、myList = 1.9, 2.9, 3.5, 4.6;14. 数组中有)个方法,如下面这条语句正确?()int t32 = 1,2,3,4,5,6;数组声明后其大小固定()数组中元素的个()int A.=new int8数组一旦创建,其大小不能再改变。( )a.lengt的值为7()用任何方式创建数组时,都必须指定数组的长度()声明数组时,要指定数组长度,以便为数组分配内存(四、简答题如何声明和创建一个一维数组?如何访问数组的元素?数组下标的类型是什么?最小的下标是什么?一维数组a数组越界访问会发生什么错误?怎样避免该错误?给方法传递数组参数与传递基本数据类型变量的值有何不同?复制数组有哪些

10、方法?8.声明数组变量会为数组分配内存空间吗?为什么? 五、程序题1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。public class Test public static void main(String args) 3)int a =1,3,5,7,9,11,13,15,17,19;int t;for (int i=0; i a.length; i+)System.out.print( + ai);9)10)for (int i=0; i a.length/2; i+) 11)t = ai;ai = aa.length-i-

11、1;aa.length-i-1=t;14)15)for (int i=0; i a.length; i+)System.out.print( + ai);19)20)编写一个程序,提示用户输入学生数量 姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。public class exercise16 public static void main(String args) String numberString =JOptionPane.showInputDialog(Enter the number of students);int numberOfStudents =Integer.par

12、seInt(numberString); 6)String names = new StringnumberOfStudents;double scores = new doublenumberOfStudents; 9)for (int i = 0; i = 1; i-) double currentMax = scores0;int currentMaxIndex = 19)20)for (int j = 1; j = i; j+) if (currentMax = 0; i-) 37)System.out.println(namesi + t + scoresi);38)39)40)编写

13、一个程序,使它能够读入1010输出。1) import javax.swing.JOptionPane; 2)public class exercise5 private static int j = 5)public static void main(String args) int arrayInt = new int10;int i = 9)do String numberString = JOptionPane.showInputDialog(Enter a number: 13)14)int number = Integer.parseInt(numberString); 15)if

14、 (isNotHave(arrayInt, number) arrayInti = number;18)i+;19)j+;20)21)else22)do numberString = JOptionPane.showInputDialog(Thumber is another number: );number = Integer.parseInt(numberString); while (!isNotHave(arrayInt, 28)29)arrayInti = number;30)i+;31)j+;32)33) while (i arrayInt.length); 34)String o

15、utput = ;for (int k : arrayInt) output += k + ;38)39)40)JOptionPane.showMessageDialog(null, The elements of arrayInt is 41)+output,outputarrayInt,JOptionPane.INFORMATION_MESSAGE);42)43)44)45)46)47)48)49)50)51)public static boolean isNotHave(int arrayInt, int n) for (int i = 0; i j; i+) if (arrayInti

16、 = n) return false;return true;8,标出其排序后其下标的位置。public class Test public static void main(String args) 3)int numbers =1,3,9,5,6,7,1,5,4,8;4)5)for (int i=0; i = (mid = (low + high) / 2) ?22)(mid + 1) : (low + high) / 2);if (key = 15)16)double average=(sum - scorescount) / (count - 1);17)18)int numOfAbo

17、ve=0;19)int numOfBelow=0;for (int i = 0; i = average)numOfAbove+;else25)System.out.println(Average is + average);System.out.println(Number of scores above or equal to the average 28)+ numOfAbove);29)System.out.println(Number of scores below the average30)+ numOfBelow);31)32)System.exit(0);33)34)0-91

18、00public class exercise7 public static void main(String args) int numbers = new int100;int counts = new int10;5)6)7)8)9)10)11)12)13)14)15)16)17)18)19)20)21)22)23)24)25)26)int k;for (int i = 0; i 100; i+)numbersi = (int)(Math.random() * 10); countsnumbersi+;System.out.println(the 100 numbers is :); f

19、or(int i = 1; i = numbers.length; i+)if (i % 10 != 0)System.out.print(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 + );求平均值和方差。利用 mean(int )平均值,利用 deviation(int 准差。import java.util.Sc

20、anner;public class MeanDeviation public static void main(String args) Scanner in = new Scanner(System.in); 5)int n = 8)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 deviation is: + deviation(array)

21、;18)19)20)21)22)23)24)25)26)27)28)29)30)31)32)33)34)35)36)37)38)39)40)public static double mean(int numbers)double sum = 0.0;for(int i = 0; i numbers.length; i+)sum += numbersi;return sum / numbers.length;public static double deviation(int numbers)double powSum = 0.0;for(int i = 0; i numbers.length; i+)powSum += Math.pow(numbersi - mean(numbers),2);return Math.sqrt(powSum / (numbers.length - 1);编写一个程序,求出整数数组中最小元素的下标。如果这样的元素个数大于1,则返回 public class MinIndex public static void main(String args) 3)int list = 1, 2, 4, 5, 10, 100, 2, -22;4)5)System.out.println(The min is + minIndex(list); 6

温馨提示

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

评论

0/150

提交评论