欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java数组练习题(带答案)(9页).doc

    • 资源ID:35418222       资源大小:170KB        全文页数:9页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java数组练习题(带答案)(9页).doc

    -Java数组练习题(带答案)-第 9 页一 填空题1) 数组的元素通过 下标 来访问,数组Array的长度为 。2) 数组复制时,"="将一个数组的 引用 传递给另一个数组。3) JVM将数组存储在 栈 (堆或栈)中。4) 数组的二分查找法运用的前提条件是数组已经 排序 。5) Java中数组的下标的数据类型是 整型 。6) 数组最小的下标是 0 。7) arraycopy()的最后一个参数指明 复制元素的个数 。8) 向方法传递数组参数时,传递的是数组的 引用 。9) 数组初始化包括 数组的申明,创建和初始化 。10) 数组下标访问超出索引范围时抛出 数组越界 异常11) 浮点型数组的默认值是 。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_A. a0=1;B. a10=2;C. a0=5*2;D. a1=a2*a0;3. 下面的二维数组初始化语句中,正确的是_A. float b22=0.1,0.2,0.3,0.4;B. int a=1,2,3,4;C. int a2= 1,2,3,4;D. float a22=0;4. 引用数组元素时,数组下标可以是_D_A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可5. 定义了int型二维数组a67后,数组元素a34前的数组元素个数为_A. 24 B. 25 C. 18 D. 176. 下列初始化字符数组的语句中,正确的是_B_A. char str5="hello"B. char str='h','e','l','l','o','0'C. char str5="hi"D. char str100=""7. 数组在Java中储存在 C 中A. 栈 B. 队列 C. 堆 D. 链表8. 下面程序的运行结果是_main() int a=1,2,3,4,5,6;System.out.printf("%d", a11);A. 3 B. 4 C. 5 D. 69. 下面程序的运行结果是_C_main() int x=30;int numbers=new intx;x=60;(numbers.length);A. 60 B. 20 C. 30 D. 5010. 下面程序的运行结果是_BDF_main() char s1="ABCDEF".toCharArray();int i=0;while(s1i+!='0')S(s1i+);A. ABCDEF B. BDF C. ABCDE D. BCDE11. 下面 不是创建数组的正确语句C A.float f=new float66;    B.float f=new float6; C.float f=new float6;    D.float f=new float6;12. 下面不是数组复制方法的是(C) A. 用循环语句逐个复制数组 B. 用方法arraycopy C. 用"="进行复制 D. 用clone方法13. 数组a的第三个元素表示为D A. a(3) B. a3 C.a(2) D. a214. 当访问无效的数组下标时,会发生B A. 中止程序 B. 抛出异常 C. 系统崩溃 D. 直接跳过15. 使用arraycopy()方法将数组a复制到b正确的是A A. 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)16. 关于数组默认值,错误的是 B A. char-'"u0000' B. Boolean-true C. float- D. int- 017. 关于数组作为方法的参数时,向方法传递的是 A A. 数组的引用 B. 数组的栈地址 C. 数组自身 D. 数组的元素18. 关于数组复制,下列说法错误的是AC A. "="可以实现数组复制 B. 运用循环语句进行数组复制必须两个数组长度相同 C. arraycopy()方法没有给目标数组分配内存空间 D. 数组复制是数组引用的传递19. 下列语句会造成数组new int10越界是D A. a0 += 9; B. a9=10;C. a9 D. for(int i=0;i<=10;i+) ai+;20. 在JDK环境下编译JAVA源程序使用的命令是(B ) A.java B.javac C.jvm D.tomcatD. 子类不能使用父类的构造方法21. 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)22. 执行完代码"int x=new  int25;"后以下( A )说明正确的A. x24为0    B. x24未定义 C. x25为0      D. x0为空23. 关于数组排序方法,错误的是 C A. 选择排序 B. 插入排序 C. 二分排序 D. 用arrays.sort( )排序24. 关于char类型的数组,说法正确的是 D A. 其数组的默认值是'A' B. 可以仅通过数组名来访问数组 C. 数组不能转换为字符串 D. 可以存储整型数值25. 对于数组a10,下列表示错误的是B A. a0 B. a(0) C. a9 D. a126. 下列数组声明,下列表示错误的是 A. int a B. int aC. int a D. inta三、是非题1.下标用于指出数组中某个元素位置的数字。( )2.把数组中元素按某种顺序排列的过程叫做查找。( )3.确定数组中是否含有某个关键字的过程叫做排序。( )4.一个数组可以存放许多不同类型的数值。( )5.数组的下标通常是float型。( )6.数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过的数值。( )7.数组可以声明为任何数据类型。( )8.数组由具有一名字和相同类型的一组连续内存单元构成。( )9.在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能由用户来决定。( )10.将一个数组传递给一个方法,必须加在数组名后加方括号。( )11.Java语言中的数组元素下标总是从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. 数组一旦创建,其大小不能再改变。( )19.用任何方式创建数组时,都必须指定数组的长度。( )20.声明数组时,要指定数组长度,以便为数组分配内存。( )四、简答题1. 如何声明和创建一个一维数组? 2. 如何访问数组的元素?3.数组下标的类型是什么?最小的下标是什么?一维数组a的第三个元素如何表示?4.数组越界访问会发生什么错误?怎样避免该错误?5.给方法传递数组参数与传递基本数据类型变量的值有何不同?6.复制数组有哪些方法?8.声明数组变量会为数组分配内存空间吗?为什么?五、程序题1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。1) 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) for (int i=0; i < a.length/2; i+) 10) t = ai;11) ai = aa.length-i-1;12) aa.length-i-1=t;13) System.out.println("数组逆序存放后的状态为:");14) for (int i=0; i < a.length; i+)15) System.out.print(" " + ai);2.编写一个程序,提示用户输入学生数量 姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。1) public class exercise16 2) public static void main(String args) 3) String numberString = 4) JOptionPane.showInputDialog("Enter the number of students");5) int numberOfStudents = Integer.parseInt(numberString);6) String names = new StringnumberOfStudents;7) double scores = new doublenumberOfStudents;8) for (int i = 0; i < scores.length; i+) 9) namesi = JOptionPane.showInputDialog("Enter a student name");10) scoresi = Double.parseDouble(11) JOptionPane.showInputDialog("Enter a student score");12) for (int i = scores.length - 1; i >= 1; i-) 13) double currentMax = scores0;14) int currentMaxIndex = 0;15) for (int j = 1; j <= i; j+) 16) if (currentMax < scoresj) 17) currentMax = scoresj;18) currentMaxIndex = j;19) if (currentMaxIndex != i) 20) scorescurrentMaxIndex = scoresi;21) scoresi = currentMax;22) String temp = namescurrentMaxIndex;23) namescurrentMaxIndex = namesi;24) namesi = temp; 25) for (int i = scores.length - 1; i >= 0; i-) 26) System.out.println(namesi + "t" + scoresi);3.编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这10个数输出。1) import javax.swing.JOptionPane;2) public class exercise5 3) private static int j = 0;4) public static void main(String args) 5) int arrayInt = new int10;6) int i = 0;7) do 8) String numberString = JOptionPane9) .showInputDialog("Enter a number: ");10) int number = Integer.parseInt(numberString);11) if (isNotHave(arrayInt, number) 12) arrayInti = number;13) i+;14) j+;15) else16) do 17) numberString = JOptionPane18) .showInputDialog("This number is exit,enter a another number: ");19) number = Integer.parseInt(numberString);20) while (!isNotHave(arrayInt, number);21) arrayInti = number;22) i+;23) j+;24) while (i < arrayInt.length);25) String output = ""26) for (int k : arrayInt) 27) output += k + " "28) JOptionPane.showMessageDialog(null, "The elements of arrayInt is "29) + output, "output arrayInt", JOptionPane.INFORMATION_MESSAGE);30) public static boolean isNotHave(int arrayInt, int n) 31) for (int i = 0; i < j; i+) 32) if (arrayInti = n)33) return false;34) return true;4.先对数组1,3,9,5,6,7,1,5,4,8进行排序,然后二分查找法找出数组中的元素8,标出其排序后其下标的位置。1) public class Test 2) public static void main(String args) 3) int numbers = 1,3,9,5,6,7,1,5,4,8;4) java.util.Arrays.sort(numbers);5) System.out.println("排序后的数组为:");6) for (int i=0; i<numbers.length; i+)7) System.out.print(" " + numbersi);8) System.out.println();9) int n = binarySearch(numbers, 8);10) System.out.println("数字8的位置为:" + n);11) public static int binarySearch(int list, int key) 12) int low = 0;13) int high = list.length - 1;14) int mid = 0;15) while (high > low) mid = (mid = (low + high) / 2) ? 16) (mid + 1) : (low + high) / 2);17) if (key < listmid)18) high = mid - 1;19) else if (key = listmid)20) return mid;21) else22) low = mid - 1;23) return -low - 1;5.编写一个程序,读入数目确定的考试分数,并且判断有多少个分数高于或等于平均分,有多少个分数低于平均分。输入一个负数标志输入结束,假设最高分为100。1) import javax.swing.JOptionPane;2) public class Test 3) public static void main(String args) 4) double scores = new double100;5) double sum = 0;6) int count = 0;7) do 8) String scoreString =9) JOptionPane.showInputDialog(null, "Enter a new score");10) scorescount = Double.parseDouble(scoreString);11) sum += scorescount;12) while (scorescount+ >= 0);13) double average = (sum - scorescount) / (count - 1);14) int numOfAbove = 0;15) int numOfBelow = 0;16) for (int i = 0; i < count - 1; i+)17) if (scoresi >= average)18) numOfAbove+;19) else20) numOfBelow+;21) System.out.println("Average is " + average);22) System.out.println("Number of scores above or equal to the average "23) + numOfAbove);24) System.out.println("Number of scores below the average "25) + numOfBelow);26) System.exit(0);6.编写一个程序,生成0-9之间的100个随机整数并且显示每一个数的个数。1) public class exercise7 2) public static void main(String args) 3) int numbers = new int100;4) int counts = new int10;5) int k;6) for (int i = 0; i < 100; i+)7) numbersi = (int)(Math.random() * 10);8) countsnumbersi+;9) System.out.println("the 100 numbers is :");10) for(int i = 1; i <= numbers.length; i+)11) if (i % 10 != 0)12) System.out.print(numbersi-1 + " ");13) else14) System.out.println(numbersi-1);15) System.out.println("the counts of each number is :");16) for(int i = 1; i <= counts.length; i+)17) System.out.print(countsi-1 + " ");7. 求平均值和方差。利用 mean(int numbers)求平均值,利用 deviation(int numbers)求标准差。1) import java.util.Scanner;2) public class MeanDeviation 3) public static void main(String args) 4) Scanner in = new Scanner(System.in);5) System.out.print("输入数组的长度:");6) int n = in.nextInt();7) System.out.print("输入数组元素:");8) int array = new intn;9) for (int i = 0; i < array.length; i+)10) arrayi = in.nextInt();11) System.out.print("The mean is: " + mean(array) + "n"12) + "The deviation is: " + deviation(array);13) public static double mean(int numbers)14) double sum = 0.0;15) for(int i = 0; i < numbers.length; i+)16) sum += numbersi;17) return sum / numbers.length;18) public static double deviation(int numbers)19) double powSum = 0.0;20) for(int i = 0; i < numbers.length; i+)21) powSum += Math.pow(numbersi - mean(numbers),2);22) return Math.sqrt(powSum / (numbers.length - 1);8.编写一个程序,求出整数数组中最小元素的下标。如果这样的元素个数大于1,则返回下标最小的数的下标。1) public class MinIndex 2) public static void main(String args) 3) int list = 1, 2, 4, 5, 10, 100, 2, -22;4) System.out.println("The min is " + minIndex(list);5) public static int minIndex(int list) 6) int min = list0;7) int minIndex = 0;8) for (int i = 1; i < list.length; i+)9) if (min > listi) 10) min = listi;11) minIndex = i;12) return minIndex;

    注意事项

    本文(Java数组练习题(带答案)(9页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开