1、2.课程设计的要求基于 ArrayList 实现可以深度复制( Deep Copy)的栈结构。1 首先用 ArrayList 实现栈结构2.接着将第 1步实现的栈通过 Clonable 接口实现深度复制3.课程设计的主要设计思想二 总体方案设计编写程序实现 MyString 类的下列操作:public MyString(char chars);public char charAt(int index);public int length();public MyString substring(int begin, int end);public MyString toLowerCase();p
2、ublic boolean equals(MyString s);public static MyString valueOf( int i);public int compare(String s);public MyString substring(int begin);public MyString toUpperCase();public char toChars(); 3public static MyString valueOf( boolean b);定义一个 MyString 类一一实现上述定义的函数,并对 MyString 类进行简单的测试。三 详细设计本实验主要包含两个类p
3、ublic class MyString/新字符串类public class test测试类MyString 类的 UML图为:-stringChar : char /私有字符串数组+MyString(char chars) /构造函数+showMyString():void/ 显示字符串+charAt(index:int):char /返回指定位置的 char 值+length():int /返回字符串长度+substring(begin:int,end:MyString /将字符串 begin end位置的字符换成新的字符串+toLowerCase():将所有字符串都换成小写+equals
4、(s:MyString):boolean /判断两个字符串是否相等+static valueOf(int i):返回表示 int 值的字符串表示+compare(String s):比较字符串大小求冲 begin 开始的子串+toUpperCase():MyString将字符串小写换成大写+toChars():char返回字符串数组+static valueOf(b:boolean):将b换成字符串 4四 程序的调试与运行结果说明运行结果:五 课程设计总结(1)运用实验的方法设计和实现,既是对刚刚学过的 java 课程的复习,又是一次实战演练,从而提高自己的分析问题,解决问题以及动手的能力;(
5、2)通过整个程序的设计与实现进一步加深了对 Java 这门语言的理解,巩固学过的知识,为以后进一步的学习打下良好的基础。(3) 在这次 java 编程实现中,通过对 java 所学到知识的运用,让我学到了 5很多很多的编程实践知识,大大提高了我对 java 编程和课本知识的理解。本次实验是对 String 类型的重写,目的是加强我们对 java 中 Sting 类型的理解。虽然 String 类型在 java 作为一个基本类型, java 已经提供了很成熟的操作函数, 但是这次实验的目的不是让我们去如何改进 String 类型,而是让我们更加深入的了解 String 类型的实现原理。困难及解决
6、途径在上机实习完成课程设计的过程中,遇到了不少的问题,一是有一些东西自己没有学过,而是在编写的过程中由于思路不清晰以及自己的粗心给自己制造了一些麻烦,还有就是会产生一些异常。但是在经过自己和老师、同学的交流,以及自己查阅资料针对性的对不懂得问题进行查询,自己没有学过但是又要用到得逐渐的得到解决,再经过自己反复的理清思路和反复的检查由思路不清晰和粗心带来的麻烦也慢慢得到了解决。六 后记首先, java 作为一种计算机语言,它具备语言的特性,就是我们在课堂上认真听取了老师的指导之后,还得自己回去认真看书写程序,并且上机实习才能发现问题及时解决问题。就像我们学习语言一样要通过和同学之间的交流才能提高
7、我们的实际应用能力。所以,我们在自己认真刻苦学习的同时,一定要多和同学老师交流,从他们那里吸取好的思维方式、好的学习方法。在上机实习的时候, 我现在回顾自己一学期的学习, 觉得首先应该熟悉 java 的概念,明白程序开发的基本思想,熟悉开发环境之后马上进行自主学习,自己学习的步伐千万不能落于老师讲课授课的速度。如果这样的话,我们很可能处于一种被动学习的劣势,失去对 java 学习的热情,以至于恶性循环,到最终的无可救药。在平时的训练和刚刚结束的上机实习中我深刻的体会到了学习好 java 我们就要一定要掌握好 java 的基本语句,包括条件语句和循环语句。这些就是我们 6编写程序这棵大树的必要组
8、成枝叶。建立起关键语句的之后,我们才能有更强的功能和实用性。这次实验主要是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,可以我强化了知识。因为随着课程的加重,发现自己动手能力越来越若,在事件处理和图形用户接口的使用中,出现了知识点模棱两可的情况。当然,任何的困难挫折在不断地努力中都会变得脆弱,只是暂时的阴影。最后我想说不会写 java 程序不要紧,多在网上找资料和文章学习,多看看程序员的博客、与导师沟通学习,总会找到你需要的材料,书山有路勤为径,学海无涯苦作舟。通过这四次实验,大大提高了我对 java 编程的理解,
9、调高了我的逻辑思维能力。让我养成了独立思考的好习惯!在以后的日子里,我要不断地学习这个博大精深的语言,继续不断的深化自己的实际动手能力。七 附录packagea001;publicclasstest staticmain(Stringargs )chartschar1=j, av,;tschar2STRINGStrings1 =STRING;string1=new MyString();string2a;System.out.println(string1=.showMyString();string2=the length of string1 +string1.length();the l
10、ength of string2 +string2 将 string2换成小写 a=string2.toLowerCase();a.showMyString(); 将 string1换成大写 a=string1.toUpperCase(); 7 比较 string1和 s1 大小 +string1 .compare(s1 ); 求 string2的子串 :string2.substring(3).substring(3);string2.substring(3, 5) .substring(3, 5); 判断 string1, string2是否相等 +string1 .equals( str
11、ing2 );MyString.valueof(false)= a=MyString. valueOf( false );MyString.valueof(1) a=MyString.valueOf (1);public class MyString private char stringChar ;public MyString( char chars ) / 构造函数stringChar =chars ;public void showMyString() / 显示字符串int a =0;for ( a =0; aA)char newString =new char ( int ) thi
12、s .length();this .length();if ( int ) stringChar a=( int ) &( int ) stringChar a( int ) s.charAt( a )return 1; / 大于 sif ( int ) s .charAt( a )( int ) stringChar a-1)return -1; / 小于 sreturn 0; / 等于 spublic MyString substring( int begin ) / 求冲 begin 开始的子窜( begin this 。length ()char newchar =new char 1
13、+ this .length()- begin ;=this .length()- begin ;newchar a= stringChar a +begin -1;public MyString toUpperCase() / 将字符串小写换成大写int b =( int ) ;znewString a=( char )( int ) stringChar a - b ); 10public char toChars() / 返回字符串数组return this . stringChar ;public static MyString valueOf( boolean b) / 将 b 换成字符串if ( b)char newchar = t , rue ;fls参考文献1 Java 语言程序设计 郭克华 段桂华 清华大学出版社 11
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1