Java应用开发与实践-习题答案.docx

上传人(卖家):momomo 文档编号:8102815 上传时间:2024-11-28 格式:DOCX 页数:72 大小:1.27MB
下载 相关 举报
Java应用开发与实践-习题答案.docx_第1页
第1页 / 共72页
Java应用开发与实践-习题答案.docx_第2页
第2页 / 共72页
Java应用开发与实践-习题答案.docx_第3页
第3页 / 共72页
Java应用开发与实践-习题答案.docx_第4页
第4页 / 共72页
Java应用开发与实践-习题答案.docx_第5页
第5页 / 共72页
点击查看更多>>
资源描述

1、课后习题答案习题1一、选择题1. Java的三大平台不包括( C )A、JavaME B、JavaEEC、AndroidD、JavaSE2. Java的开发工具是( C )A、JREB、JVMC、JDKD、JavaAPI3. 下列叙述中正确的是( A ) A、在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小B、在面向对象的程序设计中,各个对象都是公用的 C、在面向对象的程序设计中,各个对象之间相互不独立,它们具有密切的关系D、以上三种说法都不对4. JDK中用于存放Java类库文件的文件夹是( D )A、binB、includeC、demoD、lib 5. 下列关于 Java 语言特

2、点的叙述中,错误的是( C ) A、Java 是跨平台的编程语言B、Java 是解释执行的编程语言C、Java 是面向过程的编程语言D、Java 是具有健壮性和安全性的编程语言二、是非题1. JDK包括JRE及开发工具( )2. Java的运行环境叫JRE( )3. Java程序编译的结果(class文件)中包含的是实际机器的CPU指令( )4. Java有丰富的库供我们调用( )5. JRE包括JVM及API( )三、编程题1. 参照本章的第一个例子,创建一个“Hello,World”程序,在屏幕上简单地显示这句话。注意在自己的类里只需一个方法main()方法(main()方法会在程序启动时

3、执行)。记住要把main()方法设为static形式。用javac编译这个程序,再用java运行它。答案:public class Demo public static void main(String args) System.out.println(Hello world!); / 控制台输出Hello world!javac编译命令:javac Demo.java java解释命令:java Demo2. 以习题1的程序为基础,向其中加入注释文档。利用javadoc,将这个注释文档提取为一个HTML文件,并用Web浏览器观看。答案:略。习题2一、选择题1. 下列选项中为单精度数的是(B)

4、A、-56.9B、7.2 fC、0.6D、0712. 指出正确的表达式(C)A、byte b = -128; B、Boolean = null; C、long l = 0xfffL; D、float f = 0.63598;3. 下列语句序列执行后, c 的值是(C) public static void main(String args) int a = 10, b = 3, c = 5;if (a = b)c += a;elsec = +a * c;System.out.println(c= + c);A、15 B、50 C、55 D、54. 下列语句序列执行后, x 的值是(D) pub

5、lic static void main(String args) int a = 2, b = 4, x = 5;if (a -b)x *= a;System.out.println(x= + x);A、5 B、20 C、15 D、105. 下列语句序列执行后, num 的值是(A) public static void main(String args) char ch = 1;int num = 10;switch (ch + 1) case 1:num = num + 3;case 2:num = num + 5;case 3:num = num + 6;break;default:n

6、um = num + 8;System.out.println(num= + num);A、21 B、25 C、26 D、28二、是非题1. Java中没有无符号数( )2. Java的break语句只能用来跳出循环( )3. Java中非零即真( )4. 程序的三种基本流程是顺序、分支、循环( )5. do.while循环至少执行一次( )三、编程题1. 定义一个维整型数组arr,长度为8,将数组元素的下标值赋给数组元素,最后打印输出数组中下标为奇数的元素。public class Demo1 public static void main(String args) int arr = ne

7、w int8; / 数组元素是默认初始化为0for (int i = 0; i arr.length; i+) arri = i;for (int i = 1; i arr.length ; i = i+2) System.out.println(arr+ i + = + arri);2. 有部分学生的成绩是29, 90, 56, 90, 52, 95, 83, 45, 60, 43, 78,定义一个维整型数组,统计成绩不及格的人数。public class Demo2 public static void main(String args) / TODO Auto-generated met

8、hod stubint scores = 29, 90, 56, 90, 52, 95, 83, 45, 60, 78;int sum = 0,i = 0;while( iscores.length)if( scoresi 8)System.out.println(亚军);elseSystem.out.println(季军);4. 有人走台阶若每步走2级,则最后剩1级。若每步走3级则最后剩2级。 若每步走4级,则最后剩3级。若每步走5级,则最后剩4级,若每步走6级,则最后剩5级。若每步走7级,则刚好不剩。试编制程序求此台阶数。public class Demo4 public static v

9、oid main(String args)for( int i = 7; i=1000; i+) /7-1000/ &:短路:与 :所有条件都必须true |或:所有条件只要有一个为trueif( i % 2 = 1 & i % 3 = 2 & i % 4 = 3 & i % 5 = 4 & i % 6 = 5 & i % 7 = 0)System.out.println(i = + i);5. 求 1+2!+3!+.+20!的和。public class Demo5 public static void main(String args) / TODO Auto-generated meth

10、od stublong fac,sum=0; / fac:乘积的结果for( int i = 1; i = 20; i+ ) /i:4fac = 1;for( int k = 1; k this.left & x this.left + this.width & y this.top;/ 这里点不包括在边上,如果在边上也算的话,把小于号或大于号改成小于等于及大于等于return x this.left & x this.top - this.height & y this.top;5. 按要求编写Java程序。(1)编写一个接口:Calculate,只含有一个方法int fn(int a);(

11、2)编写一个类:ClassA来实现接口Calculate,实现int fn (int n)接口方法时,要求计算1到n的和;(3)编写另一个类:ClassB来实现接口Calculate,实现int fn (int n)接口方法时,要求计算n的阶乘(n!);(4)编写测试类Test,在测试类的Test方法中实现接口。interface Calculate int fn(int n);class ClassA implements Calculate public int fn(int n) / 1到n的和int sum = 0;for (int i = 0; i = n; i+) sum += i

12、;return sum;class ClassB implements Calculate public int fn(int n) / n的阶乘int factorial = 1;for (int i = 1; i = n; i+) factorial *= i;return factorial;public class Demo5 public static void main(String args) Calculate calculate = new ClassA();System.out.println(1到100的和是: + calculate.fn(100);calculate

13、= new ClassB();System.out.println(10的阶乘是: + calculate.fn(10);习题5一、选择题1. 下面那一项是集合API 中Set接口的特点(D)A、不允许重复元素,元素有顺序 B、允许重复元素,元素无顺序C、允许重复元素,元素有顺序D、不允许重复元素,元素无顺序2. 下面那一项是表示键值对概念的接口(D)A、CollectionB、ListC、SetD、Map3. 创建一个只能存放String的泛型ArrayList的语句正确的是(B)A、ArrayList al = new ArrayList( );B、ArrayList al = new A

14、rrayList( )C、ArrayList al = new ArrayList( );D、ArrayList al = new List( );4. 以下不属于ArrayList的方法的是(B)A、add ( ) B、addFirst ( ) C、size ( ) D、addAll ( )5. 下列声明语句错误的是(C) A、Listlist = newArrayList( );B、Listlist = newLinkedList ( );C、ArrayListal =newList( );D、Setset = (Set)newArrayList( );二、是非题1. 数组与集合可以相互转

15、换,它们没有什么区别( )2. 由于List list = new ArrayList(); 可以知道,List是Java提供的类( )3. 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法( )4. Iterator是对collection进行迭代输出的迭代器,它可以遍历并选择序列中的对象( )5. Vector与ArrayList一样,Vector本身也属于List接口的子类,所以使用Vector和使用ArrayList都一样,适用于同样的场合( )三、编程题1. 从控制台输入若干个字符串(输入

16、回车结束)放入集合Stack中,并将它们输出到控制台,要求最先放进来的最后输出,最后放进来的最先输出。import java.util.*;public class Demo1 public static void main(String args) Scanner sc = new Scanner(System.in);String s = ;Stack stack = new Stack();while (true) System.out.println(输入字符串);s = sc.nextLine();if (s.equals() break;stack.push(s);for (int

17、 i = stack.size() - 1; i -1; i-) System.out.println(stack.get(i);2. 在ArrayList中存储以下元素:yeric、bob、muss、Shirley、nishi binai,将集合中的元素排序,并将排序后的结果输出。import java.util.*;public class Demo2 public static void main(String args) ArrayList arrayList = new ArrayList();arrayList.add(yeric);arrayList.add(bob);array

18、List.add(muss);arrayList.add(shirley);arrayList.add(nishi);arrayList.add(binai);Collections.sort(arrayList);System.out.println(sorted ArrayList: + arrayList);3. 从键盘输入一个字符串,要求去除重复字符后输出。import java.util.*;public class Demo3 /方法一:集合/ 方法二:字符串自带方法操作public void str2() Scanner sc = new Scanner(System.in);S

19、ystem.out.println(输入字符串);String s = sc.nextLine();String s1=;for(int i=0;i s.length();i+) /if(!s1.contains(String.valueOf(s.charAt(i) /s1+=s.charAt(i);/或者if(s1.indexOf(s.charAt(i)=-1) s1+=s.charAt(i);System.out.println(s1);public static void main(String args) Scanner sc = new Scanner(System.in);Syst

20、em.out.println(输入字符串);String s = sc.nextLine();Set set = new HashSet();for(int i=0;i s.length();i+) set.add(s.charAt(i); Iterator it = set.iterator();while(it.hasNext() System.out.print(it.next();/str2(); 4. 生成10个1到20之间的不重复的随机数,要求使用HashSet和Iterator。import java.util.*;public class Demo4 public static

21、 void main(String args) Set set = new HashSet();while (true) if (set.size() = 10)break;double d = Math.ceil(Math.random() * 20);set.add(int) d);Iterator it = set.iterator();while (it.hasNext() System.out.println(it.next();5. 不用循环语句,把List集合中的重复元素去除。import java.util.*;public class Demo5 public static

22、void main(String args) List list = new ArrayList();list.add(abc);list.add(acd);list.add(abc);list.add(aaa);LinkedHashSet set = new LinkedHashSet();/插入操作比较多set.addAll(list);list.clear();list.addAll(set);System.out.println(list);习题6一、选择题1. 下列关于异常的说法正确的是(D)A、异常是运行时出现的错误 B、异常是编译时的错误C、异常就是程序错误,程序错误就是异常D、

23、以上都不对2. 在Java的一个异常处理中,哪个语句块可以有多个(B)A、try B、catchC、finallyD、throws3. 所有异常类的父类是(C)A、Error B、ExceptionC、ThrowableD、IOException4. 使用catch(Exception e)的好处是(D)A、执行一些程序 B、忽略一些异常C、只会捕获个别类型的异常D、捕获try语句块中产生的所有类型的异常5. 下面这段程序,试判断哪个是正确的结果(D)public class Demo public static void main(String args) try System.out.print(我在try块里); finally System.out.println(我在finally块里);A、无法编译,因为没有指定异常B、无法编译,因为没有catch子句 C、我在try块里 D、我在try块里我在finally块里二、是非题1. 捕获异常,使用关键字catch( )2. finally语句是指没有异常出现时要执行的语句( )3. 逻辑错可以由编译器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(Java应用开发与实践-习题答案.docx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|