欢迎来到天天文库
浏览记录
ID:42205173
大小:55.50 KB
页数:5页
时间:2019-09-10
《上机指导5—字符串处理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、上机指导5——字符串处理5.1实验目的(1)掌握Ja眩中的字符串的定义,理解基于引用模型定义的字符串。(2)掌握String字符串的常用方法。(3)掌握StringBuffer字符串的定义和常用方法。(4)比较和理解String和StringBuffer字符串的相同和不同之处。5.2实验内容5.2.1反转字符串【问题描述】编写一个Java程序,把一个字符串反转过来显示,如将字符串“IloveJava”显示为"avajevolI”。【基本要求】要求根据字符串的构成原理来编写。【算法描述】由于字符串是由字符构成的,因此将一个字符串进行反转输出是很容易的。【算
2、法实现】请自己编程实现。【心得体会】(1)字符串是由字符构成的,并且基于引用类型,只要充分的理解这一点,就很容易实现各种功能。(2)学会取得字符串的长度来控制循环。5.2.2ASCII编码和Unicode编码的转换【问题描述】编写一个Java程序,该程序能够将ASCII编码的字符串转化为Unicode编码和将Unicode编码的字符串转化为ASCII编码。【基本要求】要求能够将一个ASCII编码的字符串转为Unicode编码,Unicode编码的字符串转换为ASCII编码。【算法描述】将一个ASCII编码的字符串转为Unicode编码,Unicode编码
3、的字符串转换为ASCII编码的基本算法的是理解两种编码的构成差异。ASCII编码是由一个字节构成的,因此可以以byte类型来表示,而Unicode编码是由两个字节构成的,因此可以用char类型来表示。理解了这一点,就可以很容易的编写程序了。【算法实现】参考实现://实现将一个ASCII编码的字符串转为Unicode编码,Unicode编码的字符串转换为ASCII编码publicclassCodeConverter{//构造函数为空publicCodeConverter(){}/***将非空的Unicode转换为ASCII*/publicstaticStr
4、ingnicode2ascii(Strings){if(s==null
5、
6、s.1ength()==0){returnnul1;}//提供两倍的空间char[]buffer=newchar[s.lcngth()*2];charc;intj=0;//ASCII编码是由一个字节构成的,因此可以byte类型来表示//Unicode编码是由两个字节构成的,因此可以用char类型来表示for(inti二0;i〈s.length();i++){//判断是否大于0x100,十进制是256if(s.charAt(i)>=0x100){c=s・charAt(i);byte[
7、]buf二(〃“+c).getBytes();//分别取两个字节,j++,先取低位的第一字节buffer[j++]=(char)buf[0];//取高位的第二字节buffer[j++]=(char)buf[1];}else{buffer[j++]=s.charAt(i);}}returnnewString(buffer,0,j);}/***将ASCII转换为unicode*/publicstaticStringascii2unicode(Strings){if(s=二null
8、s.length()==0){〃〃return;}byte[]buffer=n
9、ewbyte[s・1ength()];//ASCII编码是由一个字节构成的,因此可以用byte类型来表示//Unicode编码是由两个字节构成的,因此可以用char类型来表示//用一个数组来存放for(inti二0;i〈s・length();i++){buffer[i]=(byte)s.charAt(i);}returnnewString(buffer);}}【心得体会】(1)理解ASCII编码和Unicode编码的构成差异。(2)在Java程序中己经提供了编码转换的类和方法,但是理解这种实现还是很重要的,因为当前的网络中大量的使用了Unicode编码。
10、5.2.3提取字符【问题描述】编写一个Javei程序,从输入的一个字符串中提取出数字并组合成一个整数。例如将myageis23years中的23提取出来。【基本要求】要求采用StringBuffer的类来实现。【算法描述】StringBuffer和String是对等的类。本实验的冃的是初步体会StringBuffer类的使用方法,并试比较它和String类的不同。【算法实现】参考实现:importjava.lang.*;publicclassDigester{publicstaticvoidmain(Stringargs[]){//没有输入参数,如果为0
11、,则输出提示信息if(args,length二二0){System,out.pr
此文档下载收益归作者所有