`

实验 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<intArray.length-1;i++)
            for(j=i+1;j<intArray.length;j++)
                  if(intArray[i]>intArray[j]){
                      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,源代码如下。
        <html>
        <applet codebase=e:/java/程序 code=KY5_2.class width=400 height=120>
          </applet >
        </html>
4. 在浏览器打开 KY5_2.html 文件
分享到:
评论

相关推荐

    实验7 数组、向量与字符串.doc

    实验7 数组、向量与字符串.doc

    数组、字符串、向量与哈希表

    数组在Java中频繁使用,想到重要 包装类 理解String类和StringBuffer类 向量与哈希表

    Java语言程序设计课件第四章 数组、字符串、向量和哈希表

    Java语言程序设计课件第四章 数组、字符串、向量和哈希表,参考教材是清华大学雍俊海编写的Java程序设计教程第3版

    郑州大学java实验报告

    郑州大学java实验报告

    Java程序设计方法指导书

    实验 1 Java 运行环境的安装、配置与运行 实验 2 Java 基本语法练习 实验 3 面向对象编程练习 实验 4 包、接口与异常处理(exception) 实验 5 数组、向量和字符串 .......

    java程序设计实验指导书

    《Java 语言》上机实验时间为 68学时,分为三大部分:Java基础、Java核心、企业级应用选学。 实验1:Java 运行环境的安装、配置与运行 实验2:Java 基本语法练习 ...实验5:数组、向量和字符串 实验6:常用系统类的使用

    Java基础入门必看教程 Java程序设计 全套8个章节PPT课件 含习题、实验教程和答案 讲解由浅入深的资源.rar

    第4章-数组、字符串、向量与哈希表(共90页).ppt 第5章-泛型和枚举(共45页).ppt 第6章-异常处理(共34页).ppt 第7章-文件与数据流(共114页).ppt 第8章-Swing图形用户界面程序设计(共125页).ppt

    使用C语言实现各种数据结构与运算算法

    使用C语言实现数据结构 表,原子,链表,栈,集合,动态数组,环,序列,位向量,线程,异常,精度计算,内存管理,字符串 包含了不透明指针,断言处理时机,二级指针的用法,宏定义,复杂结构体,setjmp/longjmp,...

    王爽著《汇编语言》课件及课后习题答案和实验解答

    【内容简介】 汇编语言是各种CPU所提供的机器指令的助记符的集合,人们可以用汇编语言直接控制...17.3 字符串的输入 17.4 应用int 13h中断例程对磁盘进行读写 实验17 编写包含多个功能子程序的中断例程 课程设计2

    算法 第4版 高清中文版

    算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握的50种算法,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了...

    算法-第4版-完整版

    第5章 字符串 451 5.1 字符串排序 455 5.1.1 键索引计数法 455 5.1.2 低位优先的字符串排序 458 5.1.3 高位优先的字符串排序 461 5.1.4 三向字符串快速排序 467 5.1.5 字符串排序算法的选择 470...

    工厂设计模式之Java计算器产品.rar

    ② 实现多用能计算器,分别实现数值型(标量、向量和矩阵)计算、非数值型(字符串和图形)计算功能。其中,图形仅包含正方形、圆形和等边三角形三类,该功能为选做题。功能详细描述如下。 标量计算器:加、减、乘、...

    《算法》中文版,Robert Sedgewick,塞奇威克

     2、内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  3、全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  4、与...

    算法,4th,塞奇威克 (Robert Sedgewick)韦恩 (Kevin Wayne), 谢路云 译.azw3

    第5章 字符串 5.1 字符串排序 5.1.1 键索引计数法 5.1.2 低位优先的字符串排序 5.1.3 高位优先的字符串排序 5.1.4 三向字符串快速排序 5.1.5 字符串排序算法的选择 5.2 单词查找树 5.2.1 单词查找树 5.2.2 ...

    算法 第4版-谢路云译-带完整书签

    第5章 字符串 451 5.1 字符串排序 455 5.1.1 键索引计数法 455 5.1.2 低位优先的字符串排序 458 5.1.3 高位优先的字符串排序 461 5.1.4 三向字符串快速排序 467 5.1.5 字符串排序算法的选择 470 5.2 ...

    matlab编程指南电子版资源

    第一部分为MATLAB基础知识,主要介绍MATLAB特点、向量运算、矩阵和字符串运算、数组的操作、数值运算、MATLAB符号方程求解等内容。具体的章节安排如下: 第1章MATLAB概述; 第2章MATLAB基础; 第3章数组; 第4章...

    《汇编语言》-第三版-王爽-以及课后答案

    17.3字符串的输入 17.4应用int 13h中断例程对磁盘 进行读写 实验17编写包含多个功能子程序的 中断例程 课程设计2 综合研究 研究试验1搭建一个精简的C语言 开发环境 研究试验2使用寄存器 研究试验3使用内存空间 研究...

    基于matlab和bag of words的图像分类.rar

    基于matlab和bag of words的图像分类, 目录中不包含数据集! 设计目标 输入一幅图像,输出标签 ...两个文件夹都有predictCategory.m文件,该函数输入参数为一幅任意图形,输出参数为类别字符串的元胞数组

    MATLAB上机报告.docx

    一、向量运算 1. 1向量的生成 1.直接输入法---------------------------------------------------------------------------------------3 ...四、字符串运算 五、习题部分 六、实验部分 相关知识点及练习结果

    备忘录实验报告.doc

    getReminder():获得是否提醒 getTime():获得字符串格式时间 getTitle():获得标题 setContent(..),setID(..),setReminder(..),setTime(..),setTitle(..)分别设置 内容,ID,提醒,时间,和标题。 创建一个事件...

Global site tag (gtag.js) - Google Analytics