Java程序设计教程(第2版)课后习题及答案09课后习题.docx

上传人:太** 文档编号:95564406 上传时间:2023-08-25 格式:DOCX 页数:6 大小:16.68KB
返回 下载 相关 举报
Java程序设计教程(第2版)课后习题及答案09课后习题.docx_第1页
第1页 / 共6页
Java程序设计教程(第2版)课后习题及答案09课后习题.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《Java程序设计教程(第2版)课后习题及答案09课后习题.docx》由会员分享,可在线阅读,更多相关《Java程序设计教程(第2版)课后习题及答案09课后习题.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第9章课后习题参考答案1 .什么是自动装箱?什么是自动拆箱?答:(1) .自动装箱:自动将基本数据类型转换为包装器类型2 2).自动拆箱:自动将包装器类型转换为基本数据类型2. 使用正则表达式对输入的电话号码进行匹配(匹配要求:匹配成功的电话号码位数为11位的纯数字,且以1开头,第二位必须是:3、5、7、8中的一位)。答:public class regexTest public static void main(String args) /测试:String tl =1245678901”;String t2 = 12745678901”;String t3 = ”123413 212”;S

2、tring t4 = M2888888888H;boolean bl = isQQ(tl);boolean b2 = isQQ(t2);boolean b3 = isQQ(t3);boolean b4 = isQQ(t4);System.out.println(t 1 +n是电话号码吗? n+b 1);System.out.println(t2+”是电话号码吗? n+b2);System.out.println(t3+”是电话号码吗? +b3);System.out.println(t4+”是电话号码吗? n+b4);练习2:匹配电话号吗(以1开头第二位必须是3Z5/7/8的11位纯数字组成)

3、public static boolean isQQ(String qq) 定义匹配规则:String regex = nl35780-99n;判断是否符合规则boolean b = qq.matches(regex);return b;3. java.sql.Date 和 java. util .Date 有何不同?答:(1) java.sql.Date 是 java.util.Date 的子类(2) java.sql.Date类没有时分秒,只有年月日(3) java.util.Date 类转 java.sql.Date 类,向下转型需要调用 java.util.Date 类的 getTim

4、e。方法, 取得long类型返回值,作为参数转换。148(4) java.sql.Date类转java.util.Date类,向上转型会自动转换,但是数值我们可以很明显的看 到,也没有了时分秒。4. Print。、println( ) printR)的用法有何不同?答:一、功能不同1)、print:将信息显示在命令窗口中,输出光标定位在最后一个字符之后。2)、printf:将信息进行格式化显示在命令窗口中,输出光标定位在最后一个字符之后。3)、printin:将信息显示在命令窗口中,输出光标换行定位在下一行开头。二、语法不同1)、print: Print(Hn H) = Println(H ”

5、)。2)、printf: System.out.println(H bH);3)、printin: System.out.pHnt( ASDnn); = System.out.println(n ASD)。三、特点不同1) print:是需求输出的一系列参数,其个数务必与式样化字符串所阐明的输出参数个数一 样多,各参数之间用分开。2)、printf:式样化规定字符,以开端,后跟一个或几个规定字符,用来确定输出内容式 样。3)、printin:从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从 栈顶开始的。5 .用不同方法创建String对象。答:方式一:通过字符串常量的方式这

6、种方式是在常量池中获取对象(hello属于字符串常量,因此编译时期会在常量池中创建 一个字符串对象),因为直接使用双引号声明出来的String对象会直接存储在常量池中。使用这种形式创建字符串时,JVM会在字符串常量池中先检查是否存在该对象,如果存在, 返回该对象的引用地址,如果不存在,则在字符串常量池中创建该字符串对象并且返回引用。 使用这种方式创建的好处是:避免了相同值的字符串重复创建,节约了内存。方式二:通过new 一个对象方式创建这种方式一共会创建两个字符串对象,一个在堆中,一个在常量池中(当然前提是常量池中 还没有“hello字符串对象)。使用这种方式创建字符串对象过程就比较复杂,分成

7、两个阶 段,首先在编译时,字符串hello会被加入到常量结构中,类加载时候就会在常量池中创 建该字符串。然后就是在调用new()时,JVM将会调用String的构造函数,同时引用常量池 中的“hello字符串,在堆内存中创建一个String对象并且返回堆中的引用地址。6 .写一个程序,进行两个大整数的乘法运算。假设大整数范围大于等于64位二进制范围。 答:import java.util.Scanner;public class BigNum public String Cheng(String str 1,String str2) int numl =new intstrl .length(

8、);int num2=new intstr2.1ength();int result=new intstr 1.Iength()+str2.length();两数相乘的位数小于两数位数相加之和fbr(int i=O;istr 1 .length();i+) numl i=lnteger.parselnt(strl .substring(i,i+l);/截取字符串,并转化为整型数组下标越小,数字对应的位数越高fbr(int i=0;istr2.1ength();i+) num2i=lnteger.parselnt(str2.substring(i9i+1);截取字符串,并转化为整型数组下标越小,

9、数字对应的位数越高!两数相乘for (int i = 0; i strl.length(); i+) for (int j = 0; j 0;i) temp=resulti/10;数组下标大的向数组下标小的进位resulti-l+=temp;resulti=resulti% 10;转化为字符串并返回String resultString=nn;fbr(int i=0;iresult.length-1 ;i+) resultString+=nn+resulti;return resultstring;)public static void main(Stringn args) / TODO Au

10、to-generated method stubScanner sc=new Scanner(System.in);System.out.printin(请输入第一个数:”);String strl = sc.next();System.out.printin(请输入第二个数:H);String str2 = sc.nextQ;String out=new BigNum().Cheng(strl, str2);匿名对象调用 Cheng 方法 System.out.println(str 1 +n 与 ”+str2+” 的积为“+out);)7 .设某校图书馆规定的单次借书阅读时限为60天,一名

11、学生的借书日期为dl,还书日期 为d2,请编程计算是否超期。答:public boolean dateCheck()private static int differentDays(Date date 1 ,Date date2) Calendar call = Calendar.getlnstance();call.setTime(date 1);Calendar cal2 = Calendar.getlnstance();cal2.setTime(date2);int dayl= cal 1 .get(Calendar.DAY_OF_YEAR);int day2 = cal2.get(Ca

12、lendar.DAY_OF_YEAR);int yearl = cal 1 .get(Calendar. YEAR);int year2 = cal2.get(Calendar.YEAR);ififyearl != year2) 同一年int timeDistance = 0 ;fdr(int i = yearl ; i 60) return true;elsereturn false; else /不同年System.out.printin(判断 day2 - dayl : ” + (day2-dayl); if(day2-dayl)60)return true;else return fa

13、lse;8 .利用Math类获取10个随整数范围在(18,80),不能重复,放在数组中,排序后遍历输出。答:import j ava.util.Arrays;public class MathTest public static void main(String args) int arr = new intl 0;for (int i = 0; i v arr.length; i+) int num = (int) (Math.random() * (80 - 18) + 18);System.out.println(num);if (contains(arr, num) i; else a

14、rri = num;maoPao(arr);System.out.println(Arrays.toString(arr);public static void maoPao(int arr) for (int i = 0; i arrj + l)int temp = arrj; arrj = arrj + 1; arrj + 1 = temp;public static boolean contains(int arr, int num) fbr (int i = 0; i arr.length; i+) if (arri = num) return true;return folse;)9 .项目练习:在字符串中找到第一个不重复的字符,编程实现。答:class FirstUniqueChar 方法1:若某个元素在字符串中首次出现和最后一次出现的位置相等,说明它是唯一的 public int firstUniqChar2(String s) int index = -1;for (int i = 0; i v s.length(); i+)if (s.indexOf(s.charAt(i) = s.lastIndexOf(s.charAt(i) index = i;break;)return index;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

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

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