当前位置:首页 > 实验七 常用实用类
实验七 常用实用类
1. 实验目的
1、掌握String类的常用方法
2、掌握Date类以及Calendar类的常用方法 3、掌握接BigInteger类的常用方法
4、掌握怎样使用Pattern类和Match类检索字符串
2. 实验内容
1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。
1) 实验1 检索图书 2) 实验2 购物小票 3) 实验3 比较日期 4) 实验4 处理大整数 5) 实验5 替换IP
6)实验6 String类的常用方法 2、完成习题:
1)计算某年、某月、某日和某年、某月、某日之间的天数间隔。要求年、
月、日通过main方法的参数传递到程序中。
2)编写程序,计算大整型数的阶乘,要求具体数值以系统后台交互方式
输入。
3)编写程序,计算1+2+3?的前99999999项的和。
3. 实验步骤
1、完成实验内容1中的程序填空、编译通过,并运行得到正确结果。 2、设计完成实验内容2中要求的程序,并通过编译、运行,最后得到正确结果。
4. 评分标准
1. 2. 3. 4. 5.
A——内容功能完善,编程风格好,人机接口界面好; B——内容功能完善,编程风格良好,人机接口界面良好; C——完成必做内容; D——能完成必做内容;
E——未按时完成必做内容,或者抄袭(雷同者全部为E).
参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩包的文件名为:学号后三位和名字开头字母,如109zhh.RAR|ZIP)
实验1 检索图书
模板代码 FindMess.java
public class FindMess {
public static void main(String[] args) { } }
String mess=\书名:Java程序设计,出版社时间:2011.10.01,\出版社:清华大学出版社,价if(【代码1】){//判断mess中是否含有\程序\ }
int index=//【代码2】//mess调用indexOf(String s)返回mess中第2个冒号的位置 String date=mess.substring(index+1,index+11); System.out.println(date);
int pricePosition=//【代码3】//mess调用indexOf(String s)返回首次出现\价格\的位置 int endPosition=mess.indexOf(\元\
String priceMess=mess.substring(pricePosition+3,endPosition); System.out.println(\图书价格\double price=Double.parseDouble(priceMess); if(price>=29){ }
index=//【代码4】//mess调用laseIndexOf(String s,int start)返回最后1个冒号的位置 endPosition=mess.lastIndexOf(\页\
String pageMess=mess.substring(index+1,endPosition); int p=Integer.parseInt(pageMess); if(p>=360){ }
System.out.println(\图书价格\大于或等于360\System.out.println(\图书价格\小于360\}else{
System.out.println(\图书价格\大于或等于29元\System.out.println(\图书价格\小于29元\}else{
System.out.println(\图书信息包含有\\\程序\\\
格:29.8元,页数:389页\
实验2 购物小票
模板代码 FoundPrice.java
import java.util.regex.Matcher; import java.util.regex.Pattern;
public class FoundPrice { }
public static void main(String[] args) { }
String s=\牛奶:89.8元,香肠:12.9元,啤酒:69元,巧克力:132元\String regex=//【代码1】//匹配数字与小数点的正则表达式的字符串 int number=0; double sum=0.0; Matcher m = p.matcher(s); while(m.find()) { }
System.out.println(\购物小票中的商品种类:\种\System.out.println(\购物小票中的价格总额:\元\
System.out.println(m.group()); number=number+1; try{
sum=sum+//【代码3】//获取子匹配成功结果字符串并转成Double型类 }
catch(NumberFormatException e){ }
System.out.println(e.getMessage());
Pattern p = //【代码2】//使用regex初始化模式对象pattern
实验3 比较日期
模板代码
CompareDate.java
import java.util.*;
public class CompareDate{
public static void main(String args[ ]) { Scanner scanner=new Scanner(System.in); System.out.println(\输入第一个年,月,日数据\ System.out.print(\输入年份\ short yearOne=scanner.nextShort(); System.out.print(\输入月份\ byte monthOne=scanner.nextByte(); System.out.print(\输入日份\ byte dayOne=scanner.nextByte();
System.out.println(\输入第二个年,月,日数据\ System.out.print(\输入年份\ short yearTwo=scanner.nextShort(); System.out.print(\输入月份\ byte monthTwo=scanner.nextByte();
System.out.print(\输入日份\ byte dayTwo=scanner.nextByte();
Calendar calendar=//【代码1】 //初始化日历对象
//【代码2】//将calendar的时间设置为yearOne年monthOne月dayOne日 long timeOne=//【代码3】 //calendar表示的时间转换成毫秒 calendar.set(yearTwo,monthTwo-1,dayTwo); long timeTwo=calendar.getTimeInMillis();
Date date1=//【代码4】 // 用timeOne做参数构造date1 Date date2=new Date(timeTwo); if(date2.equals(date1)) {
System.out.println(\两个日期的年、月、日完全相同\ }
else if(date2.after(date1)) {
System.out.println(\您输入的第二个日期大于第一个日期\ }
else if(date2.before(date1)) {
System.out.println(\您输入的第二个日期小于第一个日期\ }
long days=//【代码5】//使用timeOne,timeTwo计算两个日期相隔天数 System.out.println(yearOne+\年\月\日和\
+yearTwo+\年\月\相隔\天\ } }
实验4 处理大整数
模板代码
HandleBigInteger.java
import java.math.*;
public class HandleBigInteger {
public static void main(String args[]){
BigInteger n1=new BigInteger(\ n2=new BigInteger(\ result=null;
result=//【代码1】//n1和n2做加法运算 System.out.println(\和:\result=//【代码2】//n1和n2做减法运算 System.out.println(\差:\result=//【代码3】//n1和n2做乘法运算 System.out.println(\积:\
共分享92篇相关文档