资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
实验六 数组、字符串、向量的练习【开发语言及实现平台或实验环境】Windows2000 或 XP,JDK1.6 与 Jcreator4.0 【实验目的】1 了解数组、字符串类、以及向量类等的基本使用方法。2 理解这些类的构成。【实验要求】1. 掌握数组的使用方法。2. 掌握字符串类的使用方法。3. 掌握向量类的使用方法【实验内容】一、使用数组1建立使用数组的程序,本程序建立了一个长度为5 的1 维数组,一个长度为12 的2 维数组,源代码如下。public class Demo6_1 public static void main(String args) int a=new int5;int arr1=new int34;a0=10;a1=10+a0;a2=30;a3=40;a4= a1+ a2;arr100=0; arr101=1; arr102=2;arr110=3; arr111=4; arr112=5;arr120=6; arr121=7; arr122=8;System.out.println(a+0+ = +a0);System.out.println(a+1+ = +a1);System.out.println(a+2+ = +a2);System.out.println(a+3+ = +a3);System.out.println(a+4+ = +a4);System.out.println(arr1(+0+,+0+) = +arr100);System.out.println(arr1(+0+,+1+) = +arr101);System.out.println(arr1(+0+,+2+) = +arr102);System.out.println(arr1(+1+,+0+) = +arr110);System.out.println(arr1(+1+,+1+) = +arr111);System.out.println(arr1(+1+,+2+) = +arr112);2编译并运行程序,结果如图6.1 所示。图 6.1二使用字符串与字符串类java.lang 有两个字符串类String 和StringBuffer,封装了字符串的全部操作。其中String 用来处理创建以后不再改变的字符串,StringBuffer 用来处理可变字符串。String 和StringBuffer 为最终类,不能派生子类,可以防止用户修改。String 和StringBuffer 类在运行时要经历严格的边界条件检验,可以自动捕获异常,可以提高程序的健壮性。1创建使用String 和StringBuffer 类的程序(1)程序功能:实现字符串的翻转。(2)编写LX6_2.java 程序文件,源代码如下。import java.applet.Applet;import java.awt.Graphics;public class LX6_2 extends Applet public void paint(Graphics g) String str=这是一个字符串This is a test string;g.drawString(正常字符串:+str, 30, 30);g.drawString(翻转字符串:+reverse(str), 30, 60);public String reverse(String s) int len=s.length();StringBuffer buffer=new StringBuffer(len);for (int i=len-1; i=0; i-)buffer.append(s.charAt(i);return buffer.toString();2.编译LX6_2.java 程序文件。3编写显示LX6_2.class 的页面文件LX6_2.html,源代码如下。4在浏览器打开LX6_2.html 文件,结果如图6.2 所示。图 6.25 程序分析:程序在paint 方法中首先定义一个String 类对象str, 将This is a test string 将字符串常量赋给了str(实际的程序流程为Java 系统先为字符串常量创建一个无名字符串对象,然后再把字符串的引用赋给str)。然后使用Graphics 的对象g,调用drawString 方法输出原始字符串,然后输出翻转后的字符串,对字符串的翻转操作使用自定义的reverse 方法实现。在drawString 方法里有一个字符串表达式,将字符串常量和字符串变量进行了连接(+)运算,其结果仍为字符串对象,字符串连接是String 类的唯一运算操作。drawString(字符串对象,x 坐标,y 坐标)方法将字符串按定义的位置在Applet 中显示出来。在reverse 方法中,创建了StringBuffer 对象buffer,在创建时指定其长度为字符串参数s 的长度。程序中使用了String 类的方法charAt(i)(可返回字符串的第i 个字符),使用了StringBuffer类的方法append 连接字符串(可将参数值添加到字符串尾部)。在for 循环中,每次反向从字符串s中取出一个字符添加到buffer 的尾部。循环完毕,buffer 中存放的就是翻转后的字符串。因为reverse方法的返回值是String 类型,因此还调用了toString 方法将StringBuffer 类型转换成String 类型再返回。三使用向量类Vector大多数编程语言中的数组是固定长度的,即数组一经建立就不能在使用过程中改变其长度。Java引入Vector 类来创建可以改变长度的变量。Vector 被设计成一个能不断增长的序列,它类似于可变长数组,但功能更加强大,因为任何类型的对象都可以放入Vector 类的对象中。通过调用Vector 封装的方法,可以随时添加或删除向量元素,以及增加或缩短向量序列的长度。1创建使用Vector 向量类的应用程序(1)程序功能:创建一个Vector 对象v,先通过键盘为args输入两个分量,然后赋值给对象v,并通过直接方式为其分量赋值。(2)编写LX6_3.java 程序文件,源代码如下。import java.util.*;public class LX6_3public static void main(String args) Vector v=new Vector(1,1);v.addElement(args0); /在向量尾部添加元素v.addElement(args1);v.addElement(3); /在向量尾部添加元素v.insertElementAt(0,0);/在指定位置插入元素v.insertElementAt(aaa 字符串元素,3);v.setElementAt(4,4);/替换指定位置的元素v.addElement(5);System.out.println(第4 号元素为:+v.elementAt(4);Enumeration enum=v.elements();/枚举化对象,以便逐个取出元素StringBuffer buffer=new StringBuffer();/字符串缓冲区while(enum.hasMoreElements()buffer.append(enum.nextElement().append(,);buffer.deleteCharAt(buffer.length()-1);System.out.println(向量v 的所有元素:+buffer.toString()+n);System.out.println(向量v 的元素个数+v.size()+ v 的长度为:+v.capacity()+n);v.removeAllElements();System.out.println(删除后元素个数:+v.size()+ 向量v 长度:+v.capacity()+n);2编译并运行程序,结果如图6.3 所示。图 6.3
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号