![实验七-常用实用类_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/d1891e71-9303-411b-9622-df6595e95534/d1891e71-9303-411b-9622-df6595e955341.gif)
![实验七-常用实用类_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/d1891e71-9303-411b-9622-df6595e95534/d1891e71-9303-411b-9622-df6595e955342.gif)
![实验七-常用实用类_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/d1891e71-9303-411b-9622-df6595e95534/d1891e71-9303-411b-9622-df6595e955343.gif)
![实验七-常用实用类_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/d1891e71-9303-411b-9622-df6595e95534/d1891e71-9303-411b-9622-df6595e955344.gif)
![实验七-常用实用类_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/d1891e71-9303-411b-9622-df6595e95534/d1891e71-9303-411b-9622-df6595e955345.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验七常用实用类1.实验目的1、掌握String类的常用方法2、掌握Date类以及Calendar类的常用方法3、掌握接BigInteger类的常用方法4、掌握怎样使用Pattern类和Match类检索字符串2.实验内容1、根据附录里的源代码,根据注释要求,完成代码填空,使程序能够运行得出结果.1)实验1检索图书packagegirl;publicclassFindMesspublicstaticvoidmain(String口args)Stringmess="书名:Java程序设计,出版社时间:2021.10.01,"+"出版社:清华大学出版社,价格:29.8元
2、,页数:389页;if(mess.contains("程序")/判断mess中是否含有"程序"System.out.println("图书信息包含有"程序"");intindex=mess.indexOf(":",3);/【代码2】/mess调用indexOf(Strings)返回mess中第2个冒号的位置Stringdate=mess.substring(index+1,index+11);System.out.println(date);intpricePosition=mess.index
3、Of("价格");/【代码3】/mess调用indexOf(Strings)返回首次出现"价格"的位置intendPosition=mess.indexOf("元");StringpriceMess=mess.substring(pricePosition+3,endPosition);System.out.println("图书价格"+priceMess);doubleprice=Double.parseDouble(priceMess);if(price>=29)System.out.println(el
4、seSystem.out.println(index=mess.lastIndexOf("图书价格"+price+"大于或等于29元");"图书价格"+price+"小于29元");":");/【代码4】/mess调用laseIndexOf(Strings,intstart)返回最后1个冒号的位置endPosition=mess.lastIndexOf("页");StringpageMess=mess.substring(index+1,endPosition);intp=I
5、nteger.parseInt(pageMess);if(p>=360)System.out.println("图书价格"+p+"大于或等于360");elseSystem.out.println("图书价格"+p+"小于360");图书信息包含有"程序书名:及vm程序设|图书价格29.8图书价格29,8大于或等干29元2)实验2购物小票packagegirl;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclas
6、sFoundPricepublicstaticvoidmain(String口args)Strings="牛奶:89.8元,香肠:12.9元,啤酒:69元,巧克力:132元";Stringregex="0123456789.+;/【代码1】/匹配数字与小数点的正那么表达式的字符串intnumber=0;doublesum=0.0;Patternp=Patternpile(regex);/【代码2】/使用regex初始化模式对象patternMatcherm=p.matcher(s);while(m.find()System.out.println(m.group(
7、);number=number+1;trysum=sum+number;/【代码3/获取子匹配成功结果字符串并转成Double型类)catch(NumberFormatExceptione)System.out.println(e.getMessage();)System.out.println("购物小票中的商品种类:"+number+种");System.out.println("购物小票中的价格总额:"+sum+元)<iermmaiea>rounarnceAppi897312.969132购物小票中的商品种类:4种购物小票中的
8、价格总棘:10.元3)实验3比拟日期packagegirl;importpublicjava.util.*;classCompareDatepublicstaticvoidmain(Stringargs)ScannerSystem.System.shortSystem.byteSystem.byteSystem.System.shortscanner=newScanner(System.out.println("输入第一个年,月,out.print("输入年份");yearOne=scanner.nextShort();out.print("输入月份&q
9、uot;);monthOne=scanner.nextByte();out.print("输入日份");dayOne=scannerout.println(out.print(.nextByte();"输入第二个年,月,“输入年份");in);日数据");日数据");System.byteSystem.byteyearTwo=scanner.nextShort();out.print("输入月份");monthTwo=scanner.nextByte();out.print("输入日份");da
10、yTwo=scanner.nextByte();Calendarcalendar=Calendar.getInstance();/【代码1/初始化日历对象calendar.set(yearOne,monthOne,dayOne);/【代码2】/将calendar的时间设置为yearOne年monthOne月dayOne日longtimeOne=calendar.getTimeInMillis();/【代码3】/calendar表示的时间转换成毫秒calendar.set(yearTwo,monthTwo,dayTwo);longtimeTwo=calendar.getTimeInMillis(
11、);Datedate1=newDate(timeOne);/【代码4】/用timeOne做参数构造date1Datedate2=newDate(timeTwo);if(date2.equals(date1)System.out.println("两个日期的年、月、日完全相同");elseif(date2.after(datel)(System.out.println("您输入的第二个日期大于第一个日期");)elseif(date2.before(date1)(System.out.println("您输入的第二个日期小于第一个日期"
12、);)longdays=(timeTwo-timeOne)/(1000*60*60*24);/【代码5】/使用timeOne,timeTwo计算两个日期相隔天数System.out.println(yearOne+"年"+monthOne+"月"+dayOne+"日和"+yearTwo+年"+monthTwo+"月"+dayTwo+"相隔"+days+"天");)输入第一个年,月,日蓟况输入年份2021输入月份3输入日情5输入第二个年,月,日勘据输入年份2021输入
13、月借3输入日份10国输入的第二个日照大于第一个曰朗年3月5日和2021年3月1.相隔5天4)实验4处理大整数packagegirl;importjava.math.*;publicclassHandleBigIntegerpublicstaticvoidmain(Stringargs)BigIntegern1=newBigInteger("987654321987654321987654321),n2=newBigInteger("123456789123456789123456789),result=null;result=n1.add(n2);/【代码1】/n1和n2做
14、加法运算System.out.println("和:"+result.toString();result=n1.subtract(n2);/【代码2】/n1和n2做减法运算System.out.println("差:"+result.toString();result=n1.multiply(n2);/【代码3】/n1和n2做乘法运算System.out.println("积:"+result.toString();result=n1.divide(n2);/【代码4】/n1和n2做除法运算System.out.println(&qu
15、ot;商:"+result.toString();BigIntegerm=newBigInteger("1968957"),COUNFnewBigInteger("0"),ONE=newBigInteger("1"),TWGnewBigInteger("2");System.out.println(m.toString()+"的因子有:");for(BigIntegeri=TWOipareTo(m)<0;i=i.add(ONE)if(n1.remainder(i)pareTo(B
16、igInteger.ZERQ)=0)COUNT=COUNTadd(ONE);System.out.print(""+i.toString();System.out.println("");System.out.println(mtoString()+"一共有"+COUNTtoString()+"个因子");鹫8M1W532K4卸时B641排32用:121S33翊3565阕5利时帆31甥17710的347邺168112635369牌小即躬中所与:151727量153U9电9757瞅第I2项胡匕潞3U聊2M39招断口海
17、1濠中347463579721哪增小和吊I胸斩一场万历5)实验5替换IPpackagegirl;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassReplaceErrorWordpublicstaticvoidmain(String口args)Stringstr="登录网站:53"Patternpattern;Matchermatcher;Stringregex="d1,3.d1,3.d1,3.d1,3"pattern=Patternpil
18、e(regex);/【代码1/使用regex初始化模式对象patternmatcher=pattern.matcher(str);/【代码2】/得到检索str的匹配对象matcherStringIP=""while(matcher.find()IP=matcher.group();System.out.print(matcher.start()+"位置出现:");System.out.println(IP);System.out.printf("将潸换为6n",IP);Stringresult=matcher.
19、replaceAll("6");System.out.println(result);)5位器出现:222,128439-253将53普换为26黄录闽站:2日©6)实验6String类的常用方法packagegirl;classStringExampleargs口)publicstaticvoidmain(String"youareastudent"),"howareyou");使用equals方法判断s1与s2是否相同"s1
20、与s2相同");Strings1=newString(s2=newString(if(s1.equals(s2)/System.out.println()elseSystem.Stringout.println("s1与s2不相同");s3=newString("22030219851022024");if(s3.startsWith("220302")/判断s3的前缀是否是“220302System.out.println("吉林省的身份证");)Strings4=newString("i&q
21、uot;),s5=newString("我");if(s4pareTo(s5)>0)/按着字典序s4大于s5的表达式.System.out.println("按字典序s4大于s5");)elseSystem.out.println("按字典序s4小于s5");)intposition=0;Stringpath="c:javajspA.java"position=path.lastIndexOf("");/获取path中最后出现目录分隔符号的位System.out.println("
22、;c:javajspA.java中最后出现的位置:"+position);StringfileName=path.substring(12,18);System.out.println("c:javajspA.java名:"+fileName);Strings6=newString("100"),s7=newString("123.678");/获取path中“A.java"子字符串中含有的文件intn1=Integer.parseInt(s6);/将s6转化成int型数据.doublen2=Double.pars
23、eDouble(s7);/将s7转化成double型数据.doublem=n1+n2;System.out.println(m);Strings8=String.valueOf(m);/String调用valuOf(intn)方法将m转化为字符串对象position=s8.indexOf(".");Stringtemp=s8.substring(position+1);System.out.println("数字"+m+"有"+temp.length()+"位小数");Strings9=newString(&quo
24、t;ABCDEF");chara=s8.toCharArray();/将s8存放到数组a中.for(inti=a.length-1;i>=0;i-)System.out.print(""+ai);Ml与52不相同吉林省的身份证按字曲序s4小于s5c:javajspA.jav自中最后出现的位先:11c:javajspA.jaua中含有的文件名:A.java223.678题字有3卷1费876.3222、完成习题:1计算某年、某月、某日和某年、某月、某日之间的天数间隔.要求年、月、日通过main方法的参数传递到程序中.packagegirl;importjava.
25、util.*;publicclassExample2_2_1publicstaticvoidmain(Stringargs)Scannerscanner=newScanner(System.in);System.out.println("输入个年,月,日数据"System.out.print("输入年份");shortyearOne=scanner.nextShort();System.out.print("输入月份");bytemonthOne=scanner.nextByte();System.out.print("输入
26、日份");bytedayOne=scanner.nextByte();System.out.println("输入第二个年,月,日数据");System.out.print("输入年份");shortyearTwo=scanner.nextShort();System.out.print("输入月份");bytemonthTwo=scanner.nextByte();System.out.print("输入日份");bytedayTwo=scanner.nextByte();Calendarcalenda
27、r=Calendar.getInstance();/【代码1/初始化日历对象calendar.set(yearOne,monthOne,dayOne);/【代码2】/将calendar的时间设置为yearOne年monthOne月dayOne日longtimeOne=calendar.getTimeInMillis();/【代码3】/calendar表示的时间转换成毫秒calendar.set(yearTwo,monthTwo,dayTwo);longtimeTwo=calendar.getTimeInMillis();Datedate1=newDate(timeOne);/【代码4】/用ti
28、meOne做参数构造date1Datedate2=newDate(timeTwo);longdays=(timeTwo-timeOne)/(1000*60*60*24);/【代码5】/使用timeOne,timeTwo计算两个日期相隔天数System.out.println(yearOne+"年"+monthOne+"月"+dayOne+"日和"+yearTwo+"年"+monthTwo+"月"+dayTwo+"相隔"+days+"天");皤入第一个年月,
29、日数据徜人年份2自19输入月馆4检八日分5输入第二个年,月3日数据输入年爷2g19漏人月份5输入日份4如19年4月5日和2021年5月4相隔3g天2)编写程序,计算大整型数的阶乘,要求具体数值以系统后台交互方式输入.packagegirl;importjava.util.*;publicclassExample2_2_3publicstaticvoidmain(Stringargs)inti,s=1;Scannerscanner=newScanner(System.in);System.out.println("输入一个整数");intBigInteger=scanner.
30、nextShort();for(i=1;i<=BigInteger;i+)s=s*i;System.out.println(BigInteger+"的阶乘为"+s);输入一个整数101936288003)编写程序,计算1+2+3的前99999999项的和packagegirl;publicclassExample2_3publicstaticvoidmain(Stringargs)inti,sum=0;for(i=1;i<=99999999;i+)sum=sum+i;System.out.println(sum);8874597123 .实验步骤1、完成实验内容
31、1中的程序填空、编译通过,并运行得到正确结果.2、设计完成实验内容2中要求的程序,并通过编译、运行,最后得到正确结果.4 .评分标准1. A内容功能完善,编程风格好,人机接口界面好;2. B内容功能完善,编程风格良好,人机接口界面良好;3. C完成必做内容;4. D能完成必做内容;5. E未按时完成必做内容,或者抄袭雷同者全部为E.参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交.压缩包的文件名为:学号后三位和名字开头字母,如109zhh.RAR|ZIP实验1检索图书模板代码FindMess.java实验2购物小
32、publicclassFindMesspublicstaticvoidmain(String口args)Stringmess=g:Java程序设计,出版社时间:2021.10.01,"+"出版社:清华大学出版社,价格:29.8元,页数:389页";if(【代码11)判断mess中是否含有"程序"System.out.println("图书信息包含有"程序"");intindex=【代码2】/mess调用indexOf(Strings)返回mess中第2个冒号的位置Stringdate=mess.subst
33、ring(index+1,index+11);System.out.println(date);intpricePosition=/【代码3/mess调用indexOf(Strings)返回首次出现"价格"的位置intendPosition=mess.indexOf("元)StringpriceMess=mess.substring(pricePosition+3,endPosition);System.out.println("图书价格"+priceMess);doubleprice=Double.parseDouble(priceMess)
34、;if(price>=29)System.out.println("图书价格"+price+"大于或等于29元)elseSystem.out.println("图书价格"+price+"小于29元");index=/【代码4】/mess调用laseIndexOf(Strings,intstart)返回最后1个冒号的位置endPosition=mess.lastIndexOf("页");StringpageMess=mess.substring(index+1,endPosition);intp=In
35、teger.parseInt(pageMess);if(p>=360)System.out.println("图书价格"+p+"大于或等于360");elseSystem.out.println("图书价格"+p+小于360");实验2购物小票模板代码FoundPrice.javaimportjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassFoundPricepublicstaticvoidmain(String口args)Strings
36、="牛奶:89.8元,香肠:12.9元,啤酒:69元,巧克力:132元";Stringregex=【代码1】匹配数字与小数点的正那么表达式的字符串intnumber=0;doublesum=0.0;Patternp=/【代码2】/使用regex初始化模式对象patternMatcherm=p.matcher(s);while(m.find()System.out.println(m.group();number=number+1;trysum=sum+/【代码3获取子匹配成功结果字符串并转成Double型类catch(NumberFormatExceptione)Syste
37、m.out.println(e.getMessage();System.out.println("购物小票中的商品种类:"+number+"不");System.out.println("购物小票中的价格总额:"+sum+"元");实验3比拟日期模板代码CompareDate.javaimportjava.util.*;publicclassCompareDatepublicstaticvoidmain(Stringargs)Scannerscanner=newScanner(System.in);System.o
38、ut.println("输入第一个年,月,日数据");System.out.print("输入年份");shortyearOne=scanner.nextShort();System.out.print("输入月份");bytemonthOne=scanner.nextByte();System.out.print("输入日份");bytedayOne=scanner.nextByte();System.out.println("输入第二个年,月,日数据");System.out.print(&
39、quot;输入年份");shortyearTwo=scanner.nextShort();System.out.print("输入月份");bytemonthTwo=scanner.nextByte();System.out.print("输入日份");bytedayTwo=scanner.nextByte();Calendarcalendar=【代码1初始化日历对象/【代码2】/将calendar的时间设置为yearOne年monthOne月dayOne日longtimeOne=/【代码3】/calendar表示的时间转换成毫秒calenda
40、r.set(yearTwo,monthTwo-1,dayTwo);longtimeTwo=calendar.getTimeInMillis();Datedate1=【代码4】/用timeOne做参数构造date1Datedate2=newDate(timeTwo);if(date2.equals(date1)System.out.println("两个日期的年、月、日完全相同");elseif(date2.after(date1)System.out.println("您输入的第二个日期大于第一个日期");elseif(date2.before(date
41、1)System.out.println("您输入的第二个日期小于第一个日期");longdays=/【代码5】/使用timeOne,timeTwo计算两个日期相隔天数System.out.println(yearOne+"年"+monthOne+"月"+dayOne+"日和"+yearTwo+"年"+monthTwo+"月"+dayTwo+"相隔"+days+"天");实验4处理大整数模板代码HandleBigInteger.java
42、importjava.math.*;publicclassHandleBigIntegerpublicstaticvoidmain(Stringargs)BigIntegern1=newBigInteger("987654321987654321987654321"),n2=newBigInteger("123456789123456789123456789"),result=null;result=/【代码1/n1和n2做加法运算System.out.println("和:"+result.toString();result=/【代
43、码2】/n1和n2做减法运算System.out.println("差:"+result.toString();result=/【代码3】/n1和n2做乘法运算System.out.println("积:"+result.toString();result=/【代码4】/n1和n2做除法运算System.out.println("商:"+result.toString();BigIntegerm=newBigInteger("1968957"),COUNT=newBigInteger("0"),
44、ONE=newBigInteger("1"),TWO=newBigInteger("2");System.out.println(m.toString()+"的因子有:");for(BigIntegeri=TWO;ipareTo(m)<0;i=i.add(ONE)if(n1.remainder(i)pareTo(BigInteger.ZERO)=0)COUNT=COUNT.add(ONE);System.out.print(""+i.toString();System.out.println("&q
45、uot;);System.out.println(m.toString()+"一共有"+COUNT.toString()+"个因子");实验5替换IP模板代码ReplaceErrorWord.javaimportjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassReplaceErrorWordpublicstaticvoidmain(Stringargs)Stringstr="登录网站:53"Patternpattern;Matchermatcher;Stringregex="d1,3.d1,3.d1,3.d1,3"pattern=/【代码1】/使用regex初始化模式对象patternmatcher=/【代码2/得到检索str的匹配对象matcherStringIP=""while(matche
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冀教版数学九年级下册《回顾与反思》听评课记录2
- 房地产工作年终总结
- 七年级班主任工作总结
- 七年级信息技术上册 第49课 初识“动画自己做”说课稿
- 夜市摊位租赁合同范本
- 投资建设项目委托代建协议书范本
- 餐厅长期承包经营合同范本
- 艺术培训协议书范本
- 河北省2024七年级道德与法治上册第四单元追求美好人生第十一课确立人生目标第1课时探问人生目标背记新人教版
- 表内乘法题目数学试卷
- 2025民政局离婚协议书范本(民政局官方)4篇
- 2024年03月四川农村商业联合银行信息科技部2024年校园招考300名工作人员笔试历年参考题库附带答案详解
- 小学一年级数学上册口算练习题总汇
- 睡眠专业知识培训课件
- 润滑油知识-液压油
- 2024年江苏省中医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 临床思维能力培养
- 《工程勘察设计收费标准》(2002年修订本)
- 深圳水管理体制改革的思考和建议
- 苏教版六年级上册计算题练习大全(经典)
- 消毒供应中心打包区教学要点 ppt课件
评论
0/150
提交评论