实验 5 数组、向量和字符串
一、实验目的
1. 掌握Java中的数组定义、引用
2. 掌握向量的基本概念和应用技术
3. 掌握使用字符串String类处理字符串的方法
4. 掌握使用字符串StringBuffer类处理字符串的方法
二、实验要求
1. 编写一个使用 Java 数组的的程序。
2. 掌握向量类的使用方法。
3. 掌握字符串类的使用方法。
三、实验内容
(一)使用数组
1. 建立使用数组的程序,本程序建立了一个长度为 5 的 1 维数组,一个长度为 12 的 2 维数组
¨ 源代码如下。
public class KY5_1 {
public static void main(String args[]) {
int a[]=new int[5];
int arr1[][]=new int[3][4];
a[0]=10;
a[1]=10+a[0];
a[2]=30;
a[3]=40;
a[4]= a[1]+ a[2];
arr1[0][0]=0; arr1[0][1]=1; arr1[0][2]=2;
arr1[1][0]=3; arr1[1][1]=4; arr1[1][2]=5;
arr1[2][0]=6; arr1[2][1]=7; arr1[2][2]=8;
System.out.println("a["+0+"] = "+a[0]);
System.out.println("a["+1+"] = "+a[1]);
System.out.println("a["+2+"] = "+a[2]);
System.out.println("a["+3+"] = "+a[3]);
System.out.println("a["+4+"] = "+a[4]);
System.out.println("arr1("+0+","+0+") = "+arr1[0][0]);
System.out.println("arr1("+0+","+1+") = "+arr1[0][1]);
System.out.println("arr1("+0+","+2+") = "+arr1[0][2]);
System.out.println("arr1("+1+","+0+") = "+arr1[1][0]);
System.out.println("arr1("+1+","+1+") = "+arr1[1][1]);
System.out.println("arr1("+1+","+2+") = "+arr1[1][2]);
}
}
¨ 编译并运行程序
2. 编程实现Fibonacci数列。
¨ Fibonacci数列的定义为:
F1=1,
F2=1,
…
Fn=Fn-1+Fn-2 (n>=3)
¨ 提示:关键代码如下:
f[0]=f[1]=1;
for(i=2;i<10;i++)
f[i]=f[i-1]+f[i-2];
3. 编程采用冒泡法实现对数组元素由小到大排序。
¨ 冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。
¨ 提示:关键代码如下:
for(i=0;i
t=intArray[i];intArray[i]=intArray[j];intArray[j]=t;
}
(二)使用向量类
大多数编程语言中的数组是固定长度的,即数组一经建立就不能在使用过程中改变其长度。Java
引入Vector 类来创建可以改变长度的变量。Vector 被设计成一个能不断增长的序列,它类似于可变长数组,但功能更加强大,因为任何类型的对象都可以放入Vector 类的对象中。通过调用Vector 封装的方法,可以随时添加或删除向量元素,以及增加或缩短向量序列的长度。
1. 创建使用Vector 向量类的应用程序
2. 程序功能:创建一个Vector 对象v,先通过键盘为args[]输入两个分量,然后赋值给对象v,并通过直接方式为其分量赋值。
3. 编写KY5_2.java 程序文件
import java.util.*;
public class KY5_11{
public static void main(String args[]) {
Vector v=new Vector(1,1);
v.addElement(args[0]); //在向量尾部添加元素
v.addElement(args[1]);
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");
}
}
4. 编译并运行程序
(三)使用字符串与字符串类
1. 编写 KY5_3.java 程序文件,源代码如下。
import java.applet.Applet;
import java.awt.Graphics;
public class KY5_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. 编译 KY5_2.java 程序文件。
3. 编写显示 KY5_2.class 的页面文件 KY5_2.html,源代码如下。
4. 在浏览器打开 KY5_2.html 文件
评论
查看更多