77范文网 - 专业文章范例文档资料分享平台

Java 试题附参考答案(7)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

附录B 参考答案 try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(\加法操作:\this.data ++); this.flag = false; //已经生产完成,修改标志位 super.notify(); //唤醒等待线程 } public synchronized void subtract() { //减法操作 if (this.flag == true) { //未生产,不能取走 try { super.wait(); //等待 } catch (InterruptedException e) { e.printStackTrace(); } } try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(\减法操作:\this.data --); this.flag = true; //已经取走了,可以继续生产 super.notify(); //唤醒等待线程 } // setter、getter略 } class Addition implements Runnable { //定义生产者 private Message msg = null ; public Addition(Message msg) { this.msg = msg ; } @Override public void run() { for (int x = 0; x < 50; x++) { //加法执行50次 this.msg.add() ; //加法操作 } } } class Subtraction implements Runnable { private Message msg = null ; public Subtraction (Message msg) { this.msg = msg ; } @Override public void run() { for (int x = 0; x < 50; x++) { Note //定义消费者 //减法执行50次 517 Java核心技术精讲 this.msg.subtract() ; } } } public class TestDemo { public static void main(String args[]) { Message msg = new Message(); new Thread(new Addition(msg), \加法对象A\ new Thread(new Addition(msg), \家访对象B\ new Thread(new Subtraction(msg), \减法对象A\ new Thread(new Subtraction(msg), \减法对象B\ } } //执行减法 Note //启动线程 //启动者线程 //取得线程 //取得线程 第8章 常用类库——实践与练习 8.14.1 填空题 1.在java.lang包中提供了两个字符串类,分别是 String 和 StringBuffer。这两个类都是 CharSequence 接口的子类,字符串类提供的求字符串长度的方法是 public int length() 。 2.Java中提供的两个大数操作类是 BigInteger 和 BigDecimal 。 3.对象克隆方法是 Object 类提供的,方法名称是 public Object clone () thorws CloneNotSupportException ,对象所在的类必须实现 java.lang.Cloneable 接口。 4.String类的 matches() 、 split() 、 replaceAll() 、 replaceFirst() 4个方法可以使用正则。 5.通过Object类中的 public Class getClass() 方法可以取得一个类的Class对象。 6.Constructor类定义在 java.lang.reflect 包中。 7.Class类对象的3种实例化方式: getClass()方法 、 类.class 、 forName(className) 方法 。 8.14.2 选择题 1.使用Runtime类的 D 方法,可以释放垃圾内存。 A.exec() B.run() C.invoke() D.gc() 2.Object类中的 B 方法不能被覆写。 A.toString() B.getClass() C.clone() D.finalize() 3.如果要为对象回收做收尾操作,则应该覆写Object类中的 D 方法。 A.toString() B.getClass() C.clone() D.finalize() 518 附录B 参考答案 8.14.3 判断题 1.任何类的对象数组都可以使用Arrays.sort()方法进行排序操作。 2.Random类存放在java.lang包中。 3.Runtime类的对象可以直接通过构造方法实例化。 ( × ) ( √ ) ( × ) ( × ) ( √ ) Note 4.Class类的对象可以通过关键字new进行实例化操作。 5.可以通过Class实例化一个类的对象,但是要求此类必须存在无参构造。 8.14.4 简答题 1.String类和StringBuffer类的区别是什么?StringBuffer类提供了哪些独特的方法? 答:String类的内容一旦声明则不可修改,而StringBuffer类的内容定义之后可以修改。StringBuffer类使用append()方法可以完成字符串的连接操作,而String类使用“+”完成。 特殊方法:insert()、reverse()、replace()。 2.简述final、finally和finalize的区别及作用? 答:final表示终结器,用于定义不能被继承的父类,不能被覆写的方法、常量; finally是异常处理的出口; finalize()是Object类定义的一个方法,用于执行对象回收前的收尾操作。 3.解释Comparable和Comparator的区别。 答:java.lang.Comparable是在一个类定义时默认实现好的接口,里面只有一个compareTo()方法; java.util.Comparator是需要单独定义一个比较的规则类,里面有两个方法;compare()和equals()。 8.14.5 编程题 1.定义一个StringBuffer类对象,然后通过append()方法向对象里添加26个小写字母,要求每次只添加一个,共添加26次。 答案: public class TestDemo { public static void main(String args[]) { StringBuffer buf = new StringBuffer() ; for (char c = 'a' ; c <='z' ; c++){ buf.append(c) ; } System.out.println(buf); } } //连接字符串 519 Java核心技术精讲 Note 程序运行结果: abcdefghijklmnopqrstuvwxyz 2.利用Random类产生5个1~30之间(包括1和30)的随机整数。 答案: import java.util.Random; public class TestDemo { public static void main(String args[]) { Random rand = new Random(); for (int x = 0; x < 5; x++) { System.out.print(rand.nextInt(31) + \、\ } } } 程序运行结果 23、2、20、0、30、 3.输入一个Email地址,之后使用正则表达式验证该Email地址是否正确。 答案: package cn.mldn.demo; public class TestDemo { public static void main(String[] args) throws Exception { String str = \ String regex = \ if (str.matches(regex)) { //符合验证要求 System.out.println(\,Email输入合法。\ } else { System.out.println(\,Email输入非法!\ } } } 程序运行结果: TRUE,Email输入合法。 4.编写正则表达式,判断给定的地址是否是一个合法的IP地址。 答案: public class TestDemo { public static void main(String[] args) throws Exception { String str = \ String regex = \ if (str.matches(regex)) { //符合验证要求 System.out.println(\,IP地址输入合法。\ } else { System.out.println(\,IP地址输入非法!\ } } } 程序运行结果: TRUE,IP地址输入合法。 520 附录B 参考答案 5.编写程序,将字符串“1981-09-19 09:07:27.727”变为Date型数据。 答案: import java.text.SimpleDateFormat; import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { String str = \ //字符串 SimpleDateFormat sdf = new SimpleDateFormat(\ Date date = sdf.parse(str); //将字符串变为日期 } } System.out.println(date); Note 程序运行结果: Sat Sep 19 09:07:27 CST 1981 第9章 Java IO操作——实践与练习 9.12.1 填空题 1.IO操作的所有类都保存在 java.io 包中。 2.文件输入流是 FileInputStream、FileReader ,文件输出流是 FileOutputStream、FileWriter 。 3.IO操作中字节流的操作类是 InputStream 、 OutputStream ,字符流的操作类是 Reader 和 Writer 。 4.System类中提供哪三个常量是对IO有所支持的? out 、 err 、 in 。 5.序列化对象使用 ObjectOutputStream 、 ObjectInputStream 类,对象所在的类必须实现 Serializable 接口才可以自动序列化所有的内容。 6. transient 关键字可以让类中的属性不被序列化下来。 9.12.2 选择题 1.File类提供了许多管理磁盘的方法。其中,建立目录的方法是 B 。 A.delete() B.mkdirs() C.makedir() D.exists() 2.提供println()方法和print()方法的类是 A 。 A.PrintStream B.System C.InputStream D.DataOutputStream 3.不同的操作系统使用不同的路径分隔符。静态常量separator表示路径分隔符,它属于的类是 C 。 A.FileInputStream B.FileOutputStream C.File D.InputStream 521

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java 试题附参考答案(7)在线全文阅读。

Java 试题附参考答案(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/648988.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: