实验4-串操作_第1页
实验4-串操作_第2页
实验4-串操作_第3页
实验4-串操作_第4页
实验4-串操作_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告四实验报告四 串操作串操作 班级 班级 姓名 姓名 学号 学号 专业 专业 一 一 实验目的 实验目的 1 1 掌握串的定义 术语 掌握串的定义 术语 2 2 掌握串的基本操作算法 掌握串的基本操作算法 3 3 掌握串的匹配算法 掌握串的匹配算法 二 二 实验内容 实验内容 1 1 在常量串在常量串 MyStringMyString 类中 增加以下方法 并求各算法的时间复杂度 类中 增加以下方法 并求各算法的时间复杂度 publicpublic MyStringMyString trim trim 删除串中所有空格删除串中所有空格 publicpublic char char toCharArray toCharArray 返回字符数组返回字符数组 publicpublic MyStringMyString toLowerCase toLowerCase 返回将大写字母转换成小写字母的字符串返回将大写字母转换成小写字母的字符串 publicpublic MyStringMyString toUpperCase toUpperCase 返回将小写字母转换成大写字母的字符串返回将小写字母转换成大写字母的字符串 publicpublic MyStringMyString replace charreplace char old old charchar newc newc 用字符用字符 newcnewc 替换串中的字符替换串中的字符 oldold publicpublic BooleanBoolean equals Objectequals Object obj obj 判断两个串是否相等判断两个串是否相等 publicpublic BooleanBoolean equalsIgnoreCase String1equalsIgnoreCase String1 str str 判断两个串是否相等判断两个串是否相等 忽略大小写忽略大小写 publicpublic intint compareTo MyStringcompareTo MyString str str 比较两个串大小 实现比较两个串大小 实现 ComparableComparable 接口接口 publicpublic intint compareToIgnoreCase MyStringcompareToIgnoreCase MyString str str 比较两个串大小 忽略大小写比较两个串大小 忽略大小写 publicpublic BooleanBoolean startsWith MyStringstartsWith MyString prefix prefix 判断判断 prefixprefix 是否前缀子串是否前缀子串 publicpublic BooleanBoolean endsWith MyStringendsWith MyString suffix suffix 判断判断 suffixsuffix 是否前缀子串是否前缀子串 源代码 源代码 package Ex4 Ex4 1 import java util Arrays Created by 74062 on 2017 3 27 public class MyString implements Comparable public static void main String args MyString myString1 new MyString a b c d MyString myString2 new MyString A B C D System out println new MyString a b c d trim toString System out println mySpareTo myString2 System out println mySpareToIgnoreCase myString2 System out println myString1 toUpperCase System out println myString1 startsWith new MyString a System out println myString1 endsWith new MyString d System out println myString1 replace a A private final char values public MyString char values this values values public MyString String string values new char string length for int i 0 i string length i values i string charAt i public MyString trim char result new char values length int count 0 int j 0 for int i 0 i values length i if values i result j values i j else count result Arrays copyOf result result length count return new MyString result public int length return values length public char toCharArray char temp new char values length for int i 0 i values length i temp i values i return temp public MyString toLowerCase char temp new char values length for int i 0 i 65 else temp i values i return new MyString temp public MyString toUpperCase char temp new char values length for int i 0 i a else temp i values i return new MyString temp public MyString replace char old char newc char temp new char values length for int i 0 i values length i if values i old temp i newc else temp i values i return new MyString temp public boolean equals Object obj char temp MyString obj toCharArray for int i 0 i values length i if temp i values i return false return true public Boolean equalsIgnoreCase MyString str return this toLowerCase equals str toLowerCase Override public int compareTo Object o char chars MyString o toCharArray int length Math min chars length values length for int i 0 i length i if values i chars i 0 return 1 if values length chars length return 1 else if values length chars length return 1 else return 0 比较两个串大小 忽略大小写 param str return public int compareToIgnoreCase MyString str return this toLowerCase compareTo str toLowerCase 判断prefix是否前缀子串 param prefix return public Boolean startsWith MyString prefix if values length prefix length return false char chars prefix toCharArray for int i 0 i prefix length i if values i chars i return false return true 判断suffix是否前缀子串 param suffix return public Boolean endsWith MyString suffix if values length 0 j if values i chars j return false i return true Override public String toString StringBuffer stringBuffer new StringBuffer for int i 0 i values length i stringBuffer append values i return stringBuffer toString 2 2 统计在一个串中各字符的出现次数 统计在一个串中各字符的出现次数 源代码 源代码 测试实例 测试实例 str1 Goodstr1 Good morning morning str2 Shanghaistr2 Shanghai 2010 2010 粘贴测试结果 粘贴测试结果 package Ex4 Ex4 2 import java util HashMap import java util Map Created by 74062 on 2017 3 27 public class Test public static void main String args System out println count Good morning public static Map count String string Map characterIntegerMap new HashMap for int i 0 i string length i Character character string charAt i if characterIntegerMap containsKey character characterIntegerMap put character characterIntegerMap get character 1 else characterIntegerMap put character 1 return characterIntegerMap 3 3 找出两个字符串中所有共同的字符 找出两个字符串中所有共同的字符 源代码 源代码 package Ex4 Ex4 3 import java util ArrayList import java util HashSet import java util List import java util Set Created by 74062 on 2017 3 29 public class Test public static List search String string1 String string2 Set set2 new HashSet Set set1 new HashSet 先统计两个字符串中出现的字符 for int i 0 i string1 length i set1 add string1 charAt i for int i 0 i string2 length i set2 add string2 charAt i Character chars1 Character set1 toArray Character chars2 Character set2 toArray List result new ArrayList 从出现的字符中作比较查出重复的字符串 for int i 0 i chars1 length i for int j 0 j chars2 length j if chars1 i chars2 j result add Character chars1 i return result public static void main String args System out println search abcdefghl hello world 粘贴测试结果 粘贴测试结果 4 4 判断一个字符串是否为一个判断一个字符串是否为一个 E mailE mail 地址 地址 源代码 源代码 package Ex4 Ex4 4 import java util regex Matcher import java util regex Pattern Created by 74062 on 2017 3 29 public class Test public static void main String args System out prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论