《Java基础入门》课后习题答案
第5章 Java中的常用类
一、填空题
1.在Java中定义了两个类来封装对字符串的操作,它们分别是String和 StringBuffer
2.java的操作日期的类有Date、Calendar、DateFormat
3.java中专门用于将日期格式化为字符串的类是DateFormat
c++string类型4.System类中所提供的属性和方法都是静态的,想要引用这些属性和方法,直接使用 System类调用即可
5.已知sb为 StringBuffer的一个实例,且sb. toString()的值为"abede,则执行sb.reverse()后,sb toString()的值为edcba
二、判断题
1. String对象和 StringBuffer对象都是字符串变量,创建后都可以修改。(×)
2.用运算符==比较字符串对象时,如果两个字符串的值相同,结果为 true。(×)
3. System类中currentTimeMillis方法返回一个long类型的值。(√)
4.Date、Calendar以及 DateFormat类都位于java.util包中。(×)
5. String类的方法replace(CharSequence srtl, CharSequence srt22)返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有srtl得到的。(对)
三、选择题
1、C    2、C    3、B    4、A    5、B
1.以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?(C)
A. ceil()
B. floor()
C. abs()
D. random()
2.String s=abededcba";则s. substring(3,4)返回的字符串是以下选项中的哪个?(C)
A. cd
B. de
C. d
D. e
3.要产生[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
4.下面的程序段执行后,输出的结果是以下哪个选项?(A)
    A. Beijing@2008
B.@ Beijing2008
    C. Beijing2008@
D. Beijing#2008
5.先阅读下面的程序片段:
对于上述定义的变量,以下表达式的值为true的是哪个?(B)
A. strl=str2:
B. strl. equals(str2):
C.str= = str3;
D.以上都不对
四、简答题 
1.简述 String 和 StringBuffer 有什么区别。
2. 简述 Date 和 Calender 类有什么区别和联系。
3.简述什么是自动装箱和自动拆箱。
1、String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。
2、Date类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。Calender类基本取代了Date类,该类中定义了一系列用于完成日期和时间字段操作的方法。
CalendargetTime()方法,getTime()返回一个表示Calendar时间值的Date对象,同时Calendar有一个setTime(Date date)方法,setTime()方法接收一个Date对象,将Date对象表示的时间值设置给Calendar对象,通过这两个方法就可以完成DateCalendar对象之间的转换。
3、自动装箱是指将基本数据类型的变量赋给对应的包装类变量,反之,拆箱是指将包装类对象类型        直接赋给一个对应的基本数据类型变量。
五、编程题
1.编写一个程序,实现字符串大小写的转换并倒序输出。要求如下:(1)使用 for 循环将字符串“HelloWorld”从最后一个字符开始遍历。
(2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase()方法将其转换为大写字符。
(3)定义一个 StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用 StringBuffer 对象的 toString()方法,并将得到的结果输出。
2. 利用 Random 类来产生5个20~30 之间的随机整数。
提示:[n-m](n、m均为整数,n<m)之间的随机数的公式为n+(new Random()). nextInt(m-n+1)。
public class Test01 {
    public static void main(String[] args) {
        String str = "HelloWorld";
        // 字符串转成char数组
        char[] ch = CharArray();
        StringBuffer buffer = new StringBuffer();
        for (int i = str.length() - 1; i >= 0; i--) {
            if (ch[i] >= 'A' && ch[i] <= 'Z') {
                buffer.append(String.valueOf(ch[i]).toLowerCase());
            } else if (ch[i] >= 'a' && ch[i] <= 'z') {
                buffer.append(String.valueOf(ch[i]).toUpperCase());
            }
        }
        System.out.String());
    }
}
1、参考答案
import java.util.Random;
public class Test {
    public static void main(String[] args) {
        Random rand = new Random();
        for (int i = 0; i < 5; i++) {
            int num = 20 + Int(11);
            System.out.println(num);
        }
    }
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。