实验七 常用实用类

更新时间:2023-03-14 15:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验七 常用实用类

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(\积:\

}

result=//【代码4】//n1和n2做除法运算 System.out.println(\商:\BigInteger m=new BigInteger(\

COUNT=new BigInteger(\ ONE=new BigInteger(\ TWO=new BigInteger(\

System.out.println(m.toString()+\的因子有:\

for(BigInteger i=TWO;i.compareTo(m)<0;i=i.add(ONE)){ if((n1.remainder(i).compareTo(BigInteger.ZERO))==0){

COUNT=COUNT.add(ONE);

System.out.print(\ \ } } }

System.out.println(\

System.out.println(m.toString()+\一共有\个因子\

实验5 替换IP

模板代码

ReplaceErrorWord.java

import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReplaceErrorWord { }

public static void main(String[] args) { }

String str=\登录网站:222.128.89.253\Pattern pattern; Matcher matcher;

String regex=\pattern=//【代码1】//使用regex初始化模式对象pattern matcher=//【代码2】//得到检索str的匹配对象matcher String IP=\while(matcher.find()){ }

System.out.printf(\将%s替换为202.192.78.56\\n\String result=matcher.replaceAll(\System.out.println(result);

IP=matcher.group();

System.out.print(matcher.start()+\位置出现:\System.out.println(IP);

实验6 String类的常用方法

模板代码

StringExample.java

class StringExample

{ public static void main(String args[])

{ String s1=new String(\ s2=new String(\

if(【代码1】) // 使用equals方法判断s1与s2是否相同 {

System.out.println(\与s2相同\ } else {

System.out.println(\与s2不相同\ }

String s3=new String(\

if(【代码2】) //判断s3的前缀是否是“220302”。 {

System.out.println(\吉林省的身份证\ }

String s4=new String(\你\ s5=new String(\我\

if(【代码3】)//按着字典序s4大于s5的表达式。 {

System.out.println(\按字典序s4大于s5\ } else {

System.out.println(\按字典序s4小于s5\ }

int position=0;

String path=\

position=【代码5】 //获取path中最后出现目录分隔符号的位置 System.out.println(\中最后出现\\\\的位置:\ String fileName=【代码6】//获取path中“A.java”子字符串。 System.out.println(\中含有的文件名:\ String s6=new String(\ s7=new String(\

int n1=【代码7】 //将s6转化成int型数据。 double n2=【代码8】 //将s7转化成double型数据。 double m=n1+n2; System.out.println(m);

String s8=【代码9】 //String调用valuOf(int n)方法将m转化为字符串对象 position=s8.indexOf(\

String temp=s8.substring(position+1);

System.out.println(\数字\有\位小数\ String s9=new String(\

char a[]=【代码10】 //将s8存放到数组a中。 for(int i=a.length-1;i>=0;i--) {

System.out.print(\ } } }

本文来源:https://www.bwwdw.com/article/s1tx.html

Top