版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字符串是字符的序列,它是许多程序设计语言的基本数据结构。CJava语言是通过字符串类实现的。Java语言提供了三个字符串类:String类、StringBuilder类和StringBuffer类。String类是不变字符串,StringBuilderStringBuffer是可变字符串,这种字符串都是16位的Unicode字符序列,并且这个类都被声明为final,因此不能被继承。计算机科学技术发展异常徐速,内容更新很快。Java语言作为面向对象的、跨平台的编程语言,迅速成为IT领域里的主流编程语言。Java中强大的处理能String类的方法的调用、实现以及对String类的Java语言的语法规则、编程基本方法和技巧、各种算法编程实实在在的知识。在此之前,熟悉各种Java的基本语言特性、语法规则,尤其是String类的掌握与应用就显得十分必要。本次笔者利用Java语言提供的各种类包、方法以及各种接口,做了一个小型的可视化的String强化自己的编程能力,另一方面,利用自己做的这个工具,可以很好的解决一些关于String类的小问题,解决一些实际方面的现实问题,从而将自己所学的知识运用的实际生活当中。整个程序可以完成String字符串的一些常用处理,String类的基本功能都能完成,还做了可视化界面,方便用户的操作,使用起来更是简单易懂。通过这个小程序,实为锻炼自己的所学。由于制作时间有限,加之编者水平有限,不当之处在所难免,希望广大朋友批评指正。I本该设计要求实现jdk基础类库中String类的主要方法。通过该题目的设计,培养学生面向对象程序设计的思想,要求学生达到熟练掌握Java际问题的能力。要求利用面向对象的方法以及Java的编程思想来完成系统的设计。要求在设计的过程中,建立清晰的类层。在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法。在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。关键词String类;对象;Java;程序设计:II目录序言................................................................................................................................I摘要...............................................................................................................................II一、系统分析与设计..................................................................................................11.1功能分析.........................................................................................................................11.2总体设计.........................................................................................................................11.3系统类层次关系图.........................................................................................................2二、详细设计..............................................................................................................32.1MainHS类的设计............................................................................................................32.2Stringcp类的设计......................................................................................................42.3其它界面子类的设计...................................................................................................5三、系统测试..............................................................................................................63.1常用的测试方法...........................................................................................................63.2测试方案.......................................................................................................................63.3测试过程.......................................................................................................................73.4测试结果.....................................................................................................................11四、软件说明书........................................................................................................12五、设计总结..............................................................................................................16六、参考文献..............................................................................................................17附录:源代码(部分程序)......................................................................................18III1.1功能分析进过对题目要求的仔细分析,要完成String类的基本功能,该系统的要求实现以下功能:实现字符串的连接;求字符串的长度;求字符串中某个字符的位置;实现字符串的比较;实现字符串中提取某个子串;字符串中字符大小写的转换;字符串中指定字符的替换。1.2总体设计Java程序编辑器是:图形界面、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了Swing来JFrameJbutton等作为主要的部件。Java语言完成各个功能的实现,我借助了jdk1.7.25eclipse来完成,用到了Swing插件以及Swing提供的各种类包,来完成软件。考虑到String类主要的功能实现,用到图形界面,我总共设计了10个大类来完成这个系统。大致分为一个主界面类,一个实现方法的类,八个功能界面的类。具体如下:ClassMainHS//主界面类ClassStringcp//所有方法实现的方法类1ClasssubClasssub2Classsub3Classsub4Classsub5Classsub6Classsub7Classsub8//字符串连接功能界面//字符串长度求取功能界面//字符串中某字符位置求取功能界面//两个字符串比较功能界面//提取字串功能界面//字符串大写字母—〉小写字母功能界面//字符串小写字母—〉大写字母功能界面//字符串中某字符替换的功能界面1.3系统类层次关系图图1.3.1为界面调用类的关系图,每个子块的功能实现君调用Stringcp类中的功能函数来实现。提取子串字符替换大写->小写小写->大写连接求长度求位置图22.1MainHS类的设计MainHS口介入功能。主要实现代码如下:frmString=newJFrame();frmString.getContentPane().setEnabled(false);frmString.setAlwaysOnTop(true);frmString.setTitle("String\u7C7B\u5904\u7406");frmString.setBounds(100,100,287,379);frmString.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frmString.getContentPane().setLayout(null)JButtonbutton=newJButton("\u8FDE\u63A5");button.setBackground(UIManager.getColor("Button.shadow"))button.setBounds(0,0,276,45);frmString.getContentPane().add(button);其中每个按钮有一个事件监听,就给出一个例子,代码如下:btnNewButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){sub2a=newsub2();a.main(null);}32.2Stringcp类的设计Stringcp类作为整个系统的核心运算部分,主要完成各个功能的从而实现各个功能的实现。其中主要包含的函数有:(1)publicStringlink(Stringst1,Stringst2)功能实现:实现字符串的连接实现方法:通过字符串连接符“+”完成(2)publicintLeng(Stringst)功能实现:求字符串的长度实现方法:通过length函数来完成(3)publicstaticStringPl(Stringst,charx)功能实现:求字符串中某个字符的位置参数说明:x为st字符串中所要查找的字符实现方法:通过循环搜索来完成(3)publicStringSstring(Stringst,inta,int)功能实现:实现字符串中提取某个子串参数说明:从a开始,从b结束实现方法:用函数substring()来实现(4)publicStringSwitch(Stringst)功能实现:字符串中字符小写->大写的转换实现方法:用函数toLowerCase()来实现(5)publicStringSwitch2(Stringst)功能实现:字符串中字符大写->小写的转换实现方法:用函数toUpperCse()来实现(5)publicstaticStringZhchar(Stringst,intb,charx)功能实现:字符串中指定字符的替换参数说明:b表示要替换的位置,x表示替换的元素(6)publicbooleanCp(Stringst1,Stringst2)功能实现:两个字符串比较,相等取true,不等取false实现方法:用equals()函数来实现java类库提供的charAt(intindex)(返回字符串index位置处的字符、String.valueOf(inti)(将inti转换成String类型)、String.vlaueOf(char[]index)(将index字符数组转换成String类型)等等的函数。42.3其它界面子类的设计其它功能子类的设计大多相似,主要用了各种的文本窗口(JTextField)和各种的按钮(JButton)以及各种事件监听(addActionListener)来实现功能。其主要用到的成员定义如下:privateJFrameframe;privateJTextFieldtextField;//文本输入框的定义privateJTextFieldtextField_1;privateJTextFieldtextField_2;JButtonbutton=newJButton();//按钮的定义子类主要是通过文本框和按钮来实现,在文本框中输入相应的内String类处理的功能。)方法来实现,通过调用Stringcp类中的方法,来实现相应的功能,下方为一个具体的例子:publicvoidactionPerformed(ActionEvente){Stringp=newString(textField.getText());Stringp2=newString(textField_1.getText());Stringcpa=newStringcp();Stringp3=a.link(p,p2);textField_2.setText(p3);}53.1常用的测试方法软件测试非方法有很多,比如1β测试,英文是Betatesting。又称Beta测试,用户验收测试(UAT2)α测试,英文是Alphatesting。又称Alpha测试。3Portabilitytesting4)用户界面测试,英文是Userinterfacetesting。又称UI测试。5)冒烟测试,英文是Smoketesting。6)随机测试,英文是Adhoctesting。7)白盒测试。8)黑盒测试。9)自动化测试。10)回归测试。11)验收测试。12)动态测试等等。3.2测试方案本系统采用的是黑盒测试,采用各个字符串进行测试。63.3测试过程1.主界面测试:测试结果如下:2.字符串连接测试:测试用例:字符串1输入:asdfiop字符串2输入:dsopirps测试结果如下:73.字符串长度测试:测试用例:输入字符串:sioealkjsdfao测试结果如下:4.字符串位置测试:测试用例:输入字符串:asdfiiasdfaerda要查找字符:a测试结果如下:85.字符串比较测试:测试用例(2(1)字符串1输入:asdfpoi字符串2输入:asdfpol测试结果如下:(2)字符串1输入:abcdejkl字符串2输入:abcdejkl测试结果如下:96.提取子串测试:测试用例:输入字符串:Helloworld!起始位置:3结束位置:10测试结果如下:7.大写字母->小写字母测试:测试用例:输入字符串:whosYOURdaddy测试结果如下:108.小写字母->大写字母测试:测试用例:输入字符串:whosYOURdaddy测试结果如下:9.字符替换测试:测试用例:输入字符串:Showmethemoney输入要改变第几个字符:5输入要改成的目标字符:9测试结果如下:3.4测试结果经过测试,所得结果与预期完全一致。11运行功能及其所用附件功能在可视化窗口已经详细列出,按照界面窗口的提示,按步骤输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 截齿车间项目规划方案
- eda课程设计 数字时钟设计
- 形象穿搭课程设计
- 2024-2030年全球及中国工程类传动链行业竞争格局及投资趋势预测报告
- 2024-2030年全球及中国不饱和脂肪醇行业盈利模式及需求动态研究报告~
- 2024-2030年中国高端轴承钢行业运行情况及投资盈利预测报告
- 2024-2030年中国高炉喷煤产业运行动态及投资发展前景调研报告
- 拓扑排序课程设计任务
- 2024年度共同财产分割离婚协议3篇
- 机器人课程课程设计
- 水上通航安全维护方案
- 幼儿口头作文800字(通用范文6篇)
- 2023年高考真题-地理(浙江卷)含答案
- 泥水平衡机械顶管施工专项方案设计
- 外国文学智慧树知到答案章节测试2023年山东师范大学
- 医院侵害未成年人案件强制报告制度培训课件
- 2023年高校财务处长述职报告范文
- 体系年度工作总结培训课件
- YY/T 0506.6-2009病人、医护人员和器械用手术单、手术衣和洁净服第6部分:阻湿态微生物穿透试验方法
- GB/T 28799.2-2020冷热水用耐热聚乙烯(PE-RT)管道系统第2部分:管材
- 中医学课件八纲辨证(四节)
评论
0/150
提交评论