《Java基础入门》课后习题及答案 下载本文

第6章 JavaAPI

一、填空题

1、在Java中定义了两个类来封装对字符串的操作,它们分别是String_和_StringBuffer____。 2、Java中的操作日期的类有_Date___、_Calendar___、DateFormat____等。

3、在程序中若想取得一个Runtime实例,则可以调用Runtime类的静态方法getRnutime()_____。 4、Math类中用于计算所传递参数平方根的方法是_sqrt()____。 5、Java中专门用于将日期格式化为字符串的类是_DateFormat____。 6、Math类中有两个静态常量PI和E,分别代表数学常量_π___和_e___。 7、Java中的用于产生随机数的类是_Random___,它位于java.util____包中。 8、String类中用于返回字符串字符个数的方法是_length()____。

9、System类中所提供的属性和方法都是_静态___的,想要引用这些属性和方法,直接使用System类调用即可。

10、已知 sb 为 StringBuffer 的一个实例,且 sb.toString() 的值为 \\, 则执行sb. reverse()后,sb.toString()的值为_”edcba_”___。

二、判断题

1、String对象和StringBuffer对象都是字符串变量,创建后都可以修改。错 2、用运算符“==”比较字符串对象时,如果两个字符串的值相同,结果为true。错 3、System类中的currentTimeMillis()方法返回一个long类型的值。对

4、Date、Calendar以及DateFormat类都位于java.util包中。错 分别java.util.Date java.util.Calendar java.text.DateFormat

5、String类的方法 replace (CharSequence srt1, CharSequence srt2)返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有 srt1得到的。对

三、选择题。

1、先阅读下面的程序片段:C

String str = \ String[] arr = str.split(\ System.out.println(arr.length);

程序执行后,打印的结果是几?

A、2个 B、 3个 C、4个 D、 5个 2、以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?C

A、ceil() B、 floor() C、 abs() D、random() 3、Random对象能够生成以下哪种类型的随机数?D

A、int B、string C、double D、A和C

4、String s = \则s.substring(3,4)返回的字符串是以下选项中的哪个?C

A、cd B、de C、d D、e

5、假若indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个?C

A、 false B、 0 C、-1 D、以上答案都不对 6、要产生[20,999]之间的随机整数可以使用以下哪个表达式?B

A.(int)(20+Math.random()*97) B. 20+(int)(Math.random()*980) C. (int)Math.random()*999 D. 20+(int)Math.random()*980

7、以下Math类的方法中,-4.4通过哪个方法运算后,结果为-5.0?D(C)

A. round()四舍五入 B. min() C. floor() 小于参数最大整数 D. ceil()大于参数最小整数 8、下面的程序段执行后,输出的结果是以下哪个选项?A

StringBuffer buf=new StringBuffer(\ buf.insert(7,\

System.out.println(buf.toString());

A、Beijing@2008 B、@Beijing2008 C、Beijing2008@ D、Beijing#2008

9、阅读下面的程序:A

public class test {

public static void main(String args[]) { int i;

float f = 2.3f;

double d = 2.7;

i = ((int)Math.ceil(f)) * ((int)Math.round(d)); System.out.println(i); } }

程序执行后,运行结果为以下哪个选项?

A、 9 B、 5 C、6 D、 6.1 10、先阅读下面的程序片段:B

String str1=new String(\String str2=new String(\

StringBuffer str3=new StringBuffer(\

对于上述定义的变量,以下表达式的值为true的是哪个?

A、 str1==str2; B、str1.equals(str2); C、str1==str3; D、以上都不对 四、程序分析题。

阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通 过,请说明原因。

代码一:5 7.0 -8.0 -5 8.1 -6.1

public class A {

public static void main(String[] args) {

System.out.println(Math.abs(-5)); System.out.println(Math.ceil(6.6)); System.out.println(Math.floor(-7.8)); System.out.println(Math.round(-4.9)); System.out.println(Math.max(8.1, -8.1));

}

}

System.out.println(Math.min(6.1, -6.1));

代码二:str.length():15 str.charAt(0):d lastIndexOf(m):\substring(2,4):fe indexOf(g):5

public class B { }

public static void main(String[] args) { }

String s = \System.out.println(\System.out.println(\

System.out.println(\System.out.println(\System.out.println(\

五、简答题

1、String和StringBuffer有什么区别?

String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。

2、Date和Calender类有什么区别和联系?

Date类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。Calender类基本取代了Date类,该类中定义了一系列用于完成日期和时间字段操作的方法。

Calendar的getTime()方法,getTime()返回一个表示Calendar时间值的Date对象,同时Calendar有一个setTime(Date date)方法,setTime()方法接收一个Date对象,将Date对象表示的时间值设置给Calendar对象,通过这两个方法就可以完成Date和Calendar对象之间的转换。

六、编程题

请按照题目的要求编写程序并给出运行结果

1、 编写一个程序,实现字符串大小写的转换并倒序输出,要求如下

1)使用for循环将字符串“HelloWorld”从最后一个字符开始遍历。

2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase() 方法将其转换为大写字符

3)定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuffer对象的toString()方法,并将得到的结果输出。

2、 计算从今天算起,100天以后是几月几号,并格式化成xxxx年x月x日的形式打印出来。

提示:

1)调用Calendar类的add()方法计算100天后的日期 2)调用Calendar的getTime() 方法返回Date类型对象

2)使用FULL格式的DateFormat对象,调用format() 方法格式化Date对象 3、利用Random类来产生5个20~50之间的随机整数。

提示:[n-m](n、m均为整数,n

第7章 集合类

一、填空题

1、JDK中提供了一系列可以存储任意对象的类,统称为 集合 。

2、在创建TreeSet对象时,可以传入自定义的比较器,自定义比较器需要实现 Comparator 接口。 3、Collection有两个子接口分别是List和Set,List集合的特点是 有序、可重复 ,Set集合的特点是 无序、不可重复 。

4、使用Iterator遍历集合时,首先需要调用 hashNext() 方法判断是否存在下一个元素,若存在下一个元素,则调用 next() 方法取出该元素。

5、集合按照存储结构的不同可分为单列集合和双列集合,单列集合的根接口是 Collection ,双列集合的根接口是 Map 。

6、Map集合中的元素都是成对出现的,并且都是以 键 、 值 的映射关系存在。

7、Iterator有一个子类,不仅可以对集合进行从前向后遍历,还可以从后向前遍历,该类是