JAVA实验报告四(实现String类)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

JAVA实验报告实验四运用JavaFx实现时钟动画班级:计算机科学与技术1306学号:00姓名:王雨思指导教师:鲁鸣鸣2014年12月1日目录一.概述.................................错误!未定义书签。二.总体方案设计.........................错误!未定义书签。三.详细设计.............................错误!未定义书签。四.程序的调试与运行结果说明.............错误!未定义书签。五.课程设计总结.........................错误!未定义书签。六.后记.................................错误!未定义书签。七.附录.................................错误!未定义书签。参考文献.................................错误!未定义书签。一概述1.课程设计的目的了解和掌握String类的实现原理2.课程设计的要求基于ArrayList实现可以深度复制(DeepCopy)的栈结构。1.首先用ArrayList实现栈结构2.接着将第1步实现的栈通过Clonable接口实现深度复制3.课程设计的主要设计思想基于ArrayList实现可以深度复制(DeepCopy)的栈结构。二总体方案设计编写程序实现MyString类的下列操作:publicMyString(char[]chars);publiccharcharAt(intindex);publicintlength();publicMyStringsubstring(intbegin,intend);publicMyStringtoLowerCase();publicbooleanequals(MyStrings);publicstaticMyStringvalueOf(inti);publicintcompare(Strings);publicMyStringsubstring(intbegin);publicMyStringtoUpperCase();publicchar[]toChars();publicstaticMyStringvalueOf(booleanb);定义一个MyString类一一实现上述定义的函数,并对MyString类进行简单的测试。三详细设计本实验主要包含两个类publicclassMyString//新字符串类publicclasstest//测试类MyString类的UML图为:-stringChar:char[]//私有字符串数组+MyString(char[]chars)//构造函数+showMyString():void//显示字符串+charAt(index:int):char//返回指定位置的char值+length():int//返回字符串长度+substring(begin:int,end:int):MyString//将字符串begin——end位置的字符换成新的字符串+toLowerCase():MyString//将所有字符串都换成小写+equals(s:MyString):boolean//判断两个字符串是否相等+staticvalueOf(inti):MyString//返回表示int值的字符串表示+compare(Strings):int//比较字符串大小+substring(begin:int):MyString//求冲begin开始的子串+toUpperCase():MyString//将字符串小写换成大写+toChars():char[]//返回字符串数组+staticvalueOf(b:boolean):MyString//将b换成字符串四程序的调试与运行结果说明运行结果:五课程设计总结(1)运用实验的方法设计和实现,既是对刚刚学过的java课程的复习,又是一次实战演练,从而提高自己的分析问题,解决问题以及动手的能力;(2)通过整个程序的设计与实现进一步加深了对Java这门语言的理解,巩固学过的知识,为以后进一步的学习打下良好的基础。(3)在这次java编程实现中,通过对java所学到知识的运用,让我学到了很多很多的编程实践知识,大大提高了我对java编程和课本知识的理解。本次实验是对String类型的重写,目的是加强我们对java中Sting类型的理解。虽然String类型在java作为一个基本类型,java已经提供了很成熟的操作函数,但是这次实验的目的不是让我们去如何改进String类型,而是让我们更加深入的了解String类型的实现原理。困难及解决途径在上机实习完成课程设计的过程中,遇到了不少的问题,一是有一些东西自己没有学过,而是在编写的过程中由于思路不清晰以及自己的粗心给自己制造了一些麻烦,还有就是会产生一些异常。但是在经过自己和老师、同学的交流,以及自己查阅资料针对性的对不懂得问题进行查询,自己没有学过但是又要用到得逐渐的得到解决,再经过自己反复的理清思路和反复的检查由思路不清晰和粗心带来的麻烦也慢慢得到了解决。六后记首先,java作为一种计算机语言,它具备语言的特性,就是我们在课堂上认真听取了老师的指导之后,还得自己回去认真看书写程序,并且上机实习才能发现问题及时解决问题。就像我们学习语言一样要通过和同学之间的交流才能提高我们的实际应用能力。所以,我们在自己认真刻苦学习的同时,一定要多和同学老师交流,从他们那里吸取好的思维方式、好的学习方法。在上机实习的时候,我现在回顾自己一学期的学习,觉得首先应该熟悉java的概念,明白程序开发的基本思想,熟悉开发环境之后马上进行自主学习,自己学习的步伐千万不能落于老师讲课授课的速度。如果这样的话,我们很可能处于一种被动学习的劣势,失去对java学习的热情,以至于恶性循环,到最终的无可救药。在平时的训练和刚刚结束的上机实习中我深刻的体会到了学习好java我们就要一定要掌握好java的基本语句,包括条件语句和循环语句。这些就是我们编写程序这棵大树的必要组成枝叶。建立起关键语句的之后,我们才能有更强的功能和实用性。这次实验主要是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,可以我强化了知识。因为随着课程的加重,发现自己动手能力越来越若,在事件处理和图形用户接口的使用中,出现了知识点模棱两可的情况。当然,任何的困难挫折在不断地努力中都会变得脆弱,只是暂时的阴影。最后我想说不会写java程序不要紧,多在网上找资料和文章学习,多看看程序员的博客、与导师沟通学习,总会找到你需要的材料,书山有路勤为径,学海无涯苦作舟。通过这四次实验,大大提高了我对java编程的理解,调高了我的逻辑思维能力。让我养成了独立思考的好习惯!在以后的日子里,我要不断地学习这个博大精深的语言,继续不断的深化自己的实际动手能力。七附录packagea001;publicclasstest{publicstaticvoidmain(String[]args){char[]tschar1={'j','a','v','a'};char[]tschar2={'S','T','R','I','N','G'};Strings1=STRING;MyStringstring1=newMyString(tschar1);MyStringstring2=newMyString(tschar2);MyStringa;string1=);();string2=);();thelengthofstring1+());thelengthofstring2+());将string2换成小写);a=();();将string1换成大写);a=();();比较string1和s1大小+(s1));求string2的子串:(3));a=(3);();求string2的子串:(3,5));a=(3,5);();判断string1,string2是否相等+(string2));(false)=);a=(false);();(1));a=(1);();}}publicclassMyString{privatechar[]stringChar;publicMyString(char[]chars)//构造函数{stringChar=chars;}publicvoidshowMyString()//显示字符串{inta=0;for(a=0;a{}}publiccharcharAt(intindex)//返回指定位置的char值{returnstringChar[index-1];}publicintlength()//返回字符串长度{return;}publicMyStringsubstring(intbegin,intend)//将字符串begin——end位置的字符换成新的字符串{char[]string=newchar[end-begin+1];inta=0;intb=0;for(a=begin-1;aend;a++){string[b]=[a];b++;}MyStringnewString=newMyString(string);returnnewString;}publicMyStringtoLowerCase()//将所有字符串都换成小写{inta=0;intb=((int)'a'-(int)'A');//大小写之间的差值(aA)char[]newString=newchar[(int)()];for(a=0;a();a++){if((int)stringChar[a]=(int)'A'&&(int)stringChar[a]=(int)'Z'){newString[a]=(char)((int)[a]+b);}else{newString[a]=stringChar[a];}}MyStringstring0=newMyString(newString);returnstring0;}publicbooleanequals(MyStrings)//判断两个字符串是否相等{inta=0;for(a=1;a=();a++){if(a)!=(a)){returnfalse;}}returntrue;}publicstaticMyStringvalueOf(inti)//返回表示int值的字符串表示{char[]newchar=newchar[1];newchar[0]=(char)(i+(int)'0');MyStringnewString=newMyString(newchar);returnnewString;}publicintcompare(Strings)//比较字符串大小{inta=0;for(a=1;a=();a++){if((int)stringChar[a-1](int)(a)){return1;//大于s}if((int)(a)(int)stringChar[a-1]){return-1;//小于s}}return0;//等于s}publicMyStringsubstring(intbegin)//求冲begin开始的子窜(begin《this。length()){char[]newchar=newchar[1+()-begin];inta=0;for(a=0;a=()-begin;a++){newchar[a]=stringChar[a+begin-1];}MyStringnewString=newMyString(newchar);returnnewString;}publicMyStringtoUpperCase()//将字符串小写换成大写{inta=0;intb=(int)'a'-(int)'A';//大小写之间的差值(aA)char[]newString=newchar[(int)()];for(a=0;a(

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功