java实验六 字符串与正则表达式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六字符串与正则表达式

一.实验目的和要求

目的:

1、掌握字符串操作

2、掌握正则表达式的应用。

要求:

1、填充程序模板,并调试运行。

2、实验报告给出内容1的填充代码和内容2的所有源代码。

二.实验内容

1、按程序模板要求,将注释处替换为Java程序代码。

2、编写一个模式匹配函数,用于验证一串字符串是否符合email格式。三.实验环境

硬件:

(1)学生用微机

(2)多媒体实验教室

软件:

(1)Windows XP中文操作系统

(2)JDK1.7.0

四.算法描述及实验步骤

实验步骤:

1、填充程序模板

按模板要求,将【代码1】~【代码9】替换为Java程序代码。

StringExample.java

class StringExample

{

public static void main(String args[ ])

{

String s1=new String("you are a student"),

s2=new String("how are you");

if (【代码1】) // 判断s1与s2是否相同

{

System.out.println("s1与s2相同");

}

else

{

System.out.println("s1与s2不相同");

}

String s3=new String("22030219851022024");

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="c:\\java\\jsp\\A.java";

position=【代码4】 // 获取path中最后出现目录分隔符号的位置 System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:"+position);

String fileName=【代码5】 // 获取path中“A.java”子字符串

System.out.println("c:\\java\\jsp\\A.java中含有的文件名:"+fileName);

String s6=new String("100"),

s7=new String("123.678");

int n1=【代码6】 // 将s6转化成int型数据

double n2=【代码7】 // 将s7转化成double型数据

double n=n1+n2;

System.out.println(n);

String s8=new String("ABCDEF");

char a[ ]=【代码8】 // 将s8存放到数组a中

for(int i=a.length-1;i>=0;i--)

{

【代码9】// 打印 a[I]

}

}

}

五.调试过程

根据实验要求将代码1-9填充完整后调试、运行得:

文件名处出现了错误,多了一个\,是由于起始位置直接用了position(path中最后出现目录分隔符号的位置),而忘了加1.

六.实验结果

修改程序调试运行得(最终程序见附录):

七.总结

做这个实验没什么感想,学了一个学期也算对JAVA程序设计比较熟悉了吧。上面也没写代码是怎么来的,就在这总结下吧:1.equals方法用来比较两个字符串的值是否相等,而==是比较两字符串的引用是否指向同一个实例;pareTo方法可以用于按字典顺序比较两个字符串(注意到s3的长度比"220302"的长度大11,而两数字之间的Unicode值最多相差10);pareTo(B)比较两字符串A与B,返回两字符串差值(按字典顺序,因为字典顺序定义太长,在这就不解释了);4.用int lastIndexOf()方法搜索字符或子字符串最后一次出现的位置;5.用substring()方法提取子字符串;6.Integer.parseInt()方法可将字符串转换为整型数,Integer.toString()方法可将整型数转换成字符串;7. 用Double.parseDouble()方法将字符串转换为Double型数;8.用toCharArray()方法将字符串转换为字符数组;9.System.out.println()是打印语句最熟悉不过了。这些也就是我做这个实验的收获啦!

附录:

最终程序:

// StringExample.java

class StringExample

{

public static void main(String args[ ])

{

String s1=new String("you are a student"),

s2=new String("how are you");

if (s1.equals(s2)) // 判断s1与s2是否相同

{

System.out.println("s1与s2相同");

}

else

{

System.out.println("s1与s2不相同");

}

String s3=new String("22030219851022024");

if (pareTo("220302")==s3.length()-"220302".length()) // 判断s3的前缀是否是“220302”

{

System.out.println("吉林省的身份证");

}

String s4=new String("你"),

s5=new String("我");

if(pareTo(s5)>0) // s4大于s5

{

System.out.println("s4大于s5");

}

else

{

System.out.println("s4小于s5");

}

int position=0;

String path="c:\\java\\jsp\\A.java";

position=stIndexOf("\\"); // 获取path中最后出现目录分隔符号的位置

System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:"+position);

String fileName=path.substring(position+1); // 获取path中“A.java”子字符串

System.out.println("c:\\java\\jsp\\A.java中含有的文件名:"+fileName);

String s6=new String("100"),

s7=new String("123.678");

int n1=Integer.parseInt(s6); // 将s6转化成int型数据

double n2=Double.parseDouble(s7); // 将s7转化成double型数据

double n=n1+n2;

相关文档
最新文档