当前位置:文档之家› LabVIEW字符串、数组、簇编程实验

LabVIEW字符串、数组、簇编程实验

LabVIEW字符串、数组、簇编程实验
LabVIEW字符串、数组、簇编程实验

一、实验目的

1、掌握创建和使用数组的方法

2、能够使用多种数组内部函数

3、掌握簇的创建和使用方法

4、学会使用内部函数处理簇

二、实验内容

1、字符串函数练习:如字符串的拆分、字符长度的计算、字符串的拼接、替换字符串和搜索字符串等;

2、计算一组随机数的最大值和最小值

提示:在程序框图中,放置一个For循环,设置循环次数为10次。单击边框选择添加两个移位寄存器,分别初始化为0和1。新建一个VI,在前面板上放置一个波形图标,用它来记录产生的随机数。同时在前面板上放置两个数值显示控件“最大值”和“最小值”,用来显示随机数中的最大值和最小值。放置随机数函数和最大最小值函数与程序框图中,其中最大最小值函数位于编程→比较→最大值与最小值。然后连线。

3、构建VI,输出一个10行5列的二维数组。第1行包含0~1范围内的5个随机数,第2行包含1~2范围内的随机数,以此类推,直到第10行包含9~10范围内的5个随机数。

4、设计VI,根据输入的3个考试成绩数组,计算得到一个簇数组包括平均成绩、成绩等级和班级排名。每次的考试成绩对应一个数组,平均成绩是这样定义的:第一次考试占30%,第二次考试成绩占30%,期末考试占40%。成绩等级按照平均成绩,以下表列出的标准来确定。(提示:在确定成绩等级的时候用Case结构将会很方便。)

平均成绩标准

三、实验结论及分析

1.

(完整word版)LabVIEW编程基础(中)

LabVIEW的基本控件与基本函数 LabVIEW基本控件:数值、布尔、字符串与路径、数组与簇、图形、枚举1、数值:数值输入控件与数值显示控件(数值输入控件有增量/减量按钮;输入为白色背 景,输出为灰色背景) 默认数据类型为:双精度,橙色。 2、布尔:值默认为False,图标为绿色。 布尔控件的机械动作属性 单击时转换:按下按钮时改变状态,再次单击后恢复原状态。与VI是否读取控件无关。(可赋值恢复)类似开关按钮 释放时转换:按下按钮时保持当前状态,直到释放按钮,再次单击后恢复原状态。与VI是否读取控件无关。(可赋值恢复)类似开关按钮 保持转换直到释放:按下按钮时改变状态,直到释放按钮,,再次单击后恢复原状态。与VI 是否读取控件无关。(可赋值恢复)。类似开关按钮 单击时触发:按下按钮时改变状态,LabVIEW再次读取控件值后返回原状态。 释放时触发::按下按钮时保持当前状态,释放时改变状态,LabVIEW再次读取控件值后返回原状态。 保持触发直到释放:按下按钮时改变状态,直到释放按钮,LabVIEW再次读取控件值后返回原状态。

3、字符串与路径:(字符串输入控件与字符串显示控件),粉色。 4种显示方式(正常显示、’\’代码显示、密码显示、十六进制显示) 4、数组:依据加入的控件类型同样分为输入控件与显示控件 LabVIEW的数组以索引号0表示数组的首个数据。 增加数组维度的方法:(1)索引框的快捷菜单中->增加维度 (2)直接向下拖动索引框 (3)属性对话框->外观选项卡->维 数组中的元素为同类型的控件,可以是各种类型的控件,但不能是数组的数组。数组的多态性: 5、簇:依据加入的控件类型同样分为输入控件与显示控件 簇本身的属性:重新排序簇中控件、自动调整大小(无、调整为匹配大小、水平排列、垂直排列) 使用簇结构时,尽可能的使用:严格自定义类型。 错误簇:状态(布尔)、代码(数值输入)、源(字符串输入)

java中的数组和字符串

Java中的数组和字符串 一.数组:用一个标识符(变量名)和一组下标来代表一组相同数据类型的数据元素的集合.其中的每个数组元素在数组中的位置是固定的.可以通过叫做下标的编号加以区分,通过标识符和下标来访问每一个数据元素. 数组必须经过声明和初始化后,才可以使用. 1、数组的声明(确定数组名、数组的维数和数组的数据数据类型)但并没有分配存储空间 一维数组的声明格式如下: 类型标识符数组名[]; 或类型标识符[] 数组名; int x[]; //可读性强 int[] x;常用于作为方法的返回值 public int[] fun() { } 二维数组的声明格式如下: 类型标识符数组名[][]; 或类型标识符[][] 数组名; int x[][]; int[][] x; 类型说明符指明数组元素的类型,可以是基本类型、类或接口;方括号表示数组的维数. 注意:对于二维数组,前面的[]表示行,后面的[]表示列. 2、数组的初始化 声明数组并不能够为数组分配存储空间.要想使数组分配存储空间必须指定数组元素的个数. java有两种方式进行初始化: 1)通过指定初值的方式: 例如: int[] a={12,33,77,88}; int[][] a={{1,2,3},{4,5,6},{7,8,9}}; 2)用关键字new初始化数组: 用关键字new初始化数组时候,只为数组分配存储空间而不对数组元素赋初值. 用关键字初始化数组也有两种形式: (1)先声明数组,再初始化数组 一维:类型标识符数组名[]; 数组名=new 类型标识符[数组长度]; 二维:类型标识符数组名[][]; 数组名=new 类型标识符[数组长度][];//必须指定行的长度.跟c语言不同. 注意:对于二维数组来说,可以不指定列,但必须指定行数. 或 数组名=new 类型标识符[数组长度][数组长度];//数组长度是整型但不能是长整型 (2)声明并初始化 一维:类型标识符数组名[]=new 类型标识符[数组长度]; 二维:类型标识符数组名[][]=new 类型标识符[数组长度][];//如果没有给数组赋值的话,系统自动赋予默认值. (也就是说声明和初始化写在同一行) 3、数组的引用 一维数组的引用格式如下: 数组名[数组下标];

LabVIEW中的数组操作函数

L a b V I E W中的数组操作 函数 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

LabVIEW中的数组操作函数 现在我们已经了解了中的的一些基本概念(包括了前面这几篇文章、、)。在这篇文章里面我们接着讨论一下如何操作数组了。在的Functions(函数)工具框的Programming>>Array子工具框中有很多操作数组的函数。(我们在使用数组的时候要记住中的数组元素的索引是从0开始的,也就是说它的第一个元素的索引为0,第二个元素的索引为1,以此类推。)我们将在这里讲解常用的数组操作函数,LabVIEW中数组函数的工具框如下图所示: ?初始化数组函数将创建并按照你设定的值来初始化N维数组。通过将光标置于该函数最下方边框,出现拖动光标后向下拖动就可以为该数组增加维数。该函数适用于为已知大小的数组分配内存或者是初始化数组类型数据的。 该函数如下图所示: ?数组大小函数会返回输入数组的元素的个数。如果输入的数组为N维的多维数组,该函数就会返回有N个元素的一维数组,每个元素按顺序对应每维的元素的个数。该函数如下图所示: ? ?创建数组函数(BuildArray)可以根据你的设置来将两个数组连接或合成为一个数组以及为现有数组添加新的元素。当第一次将该函数放到LabVIEW的框图中的时候,该函数可能像下图左侧所示是个非常简单的图标。你可以通过拖动该函数下边框的图标或者是通过在该函数上点击右键从右键菜单中选择AddInput来为该函数增加输入参数的个数,如下图右侧所示。该函数可以有两种类型的输入:数组以及数组元素,该函数可以从数组以及单值的输入来组装一个新的数组。 ? 创建数组函数的输入会根据你连接到输入端点的数据类型自动调整为元素类型或数组类型的输入。在更高级的应用中,该函数还可以创建多维数组或者是为多维数组增加新的数组元素。为多维数组增加元素时,该元素必须是比要增加的数组小一维的数组。例如,为二维数组添加的新元素必须是一个一维数组。也可以将多个一维数组作为元素连接到这个函数的输入端点上来创建一个新的二维数组,每个一维数组就成为这个二维数组的一行。如果你只是将这些一维数组接续为一个新的一维数组的话,就需要在该函数上点击鼠标右键并从右键菜单中选择ConcatenateInputs选项。?子数组函数会按照该函数输入的起始索引以及长度返回输入数组的一部分。该函数如下图所示: ? 在使用这个函数的时候一定要记住LabVIEW中数组的索引是从0开始的,第一个数组元素的索引是0,而不是1。?获取数组元素函数(IndexArray)可以用来访问数组中的某个特定元素。该函数如下图所示。 ? 对于一维数组来说,只要输入要访问的元素的索引就可以在对应的输出得到该元素的值;不过对于二维数组来说,通过输入特定元素的行号、列号就可以访问到该元素的值,如果你想获得某行或某列的全部值,那么在输入端只输入行号或列号即可。 ?删除部分数组函数(DeleteFromArray)可以删除数组中从某一索引号开始某设定长度的部分并返回删除该部分后的数组以及被删除的部分数组。该函数如下图所示:

Java数组与Java基础类实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:数组与Java基础类 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:2016.10.27

一、实验目的 掌握Java中的数组定义、引用,掌握String类和StringBuffer类的使用。 二、实验要求 1.编写一个使用Java 数组的的程序。 2.编写一个使用String类的程序。 3.编写一个使用StringBuffer类的程序。 三、实验内容 (一) 使用数组求Fibonacci数列前10项之和 1.编写程序。 public class Fibonacci { public static void main(String args[]){ int i=0,j=1,s=0; for(int n=1;n<=5;n++){ s+=(i+j); i = (int)(i+j); j = (int)(i+j); } System.out.print("前10项之和是:"+s); } } 2.编译并运行程序。 (二)练习String类的常用方法 ?实验要求: 编写一个Java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创 建字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建 字符串。。 ?程序模板: StringExample.java class StringExample { public static void main(String args[]) { String s1=new String("you are a student"),s2=new String("how are you"); if(【代码1】) // 使用equals方法判断s1与s2是否相同 { System.out.println("s1与s2相同"); }

labview实验报告

LabVIEW课程设计 报告书 班级 学号 姓名 一、基础题

1、用labview的基本运算函数编写以下算式的程序代码: 首先在前面板创建一个数值输出控件,然后在程序框图中按照上图连接线路,点击运行,程序结果。 2、利用摄氏温度与华氏温度的关系C = 5(F ?32) / 9编写一个程序,求华氏温度 (F)为32, 64, 4, 98.6 , 104, 212时的摄氏温度。

在程序前面板创建一个数值输入控件和一个数值显示控件,在程序框图中添加一个公式节点,添加一个输出和一个输入分别输入和显示控件项链,在公式节点框图中输入温度转换公式,然后在面前扮输入相应的温度点击运行,得到相应的结果。 3、创建一个2行3列的二维数组控制件,为数组成员赋值如下: 00 .600.500.400.300.200.1 在前面板创建一个数组显示控件,然后将1、2、3创建成数组第一行,4、5、6创建成数组第二行,再将两行创建成一个两行三列的二位数组,点击运行显示输 出结果。 4、用数组创建函数创建一个二维数组显示件,成员为:

1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3 编程将上述创建的数组转置为: 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 1 5 6 1 2 6 1 2 3 先在面前板上创建一个上图这样的数组。再创建两个显示数组(一个为显示数组,另一个为转换后数组),在程序框图上面按照下图连线,在原数组和转换后数组之间接一个“二维数组转制”, 点击运行后显示为:

5、创建一个簇控制件,成员分别为字符型控制件姓名,数值型控制件学号,布 尔型控制件注册。从这个簇控制件中提取出簇成员注册,显示在前面板上。 在面板上添加一个簇,在族里分别添加一字符显示控件,数值显示控件,布尔型 显示控件,程序框图连接如图: 先解除捆绑然后再捆绑,输入姓名、学号点击运行在输出簇里显示。 6、创建一个字符串显示件,程序运行后显示当前系统日期、时间和自己的班级、姓名。

labview读取txt文档,按列取数组,画图

要读取的txt文档为两列,第一列为x坐标,第二列为y坐标,两列之间用制表符隔开,格式如下: -4.000000E+1 8.583130E-6 -3.990000E+1 9.536800E-6 -3.980000E+1 1.001360E-5 -3.970000E+1 1.049050E-5 -3.960000E+1 1.001360E-5 -3.950000E+1 1.096730E-5 -3.940000E+1 1.096730E-5 -3.930000E+1 1.096730E-5 -3.920000E+1 1.096730E-5 -3.910000E+1 1.192100E-5 -3.900000E+1 1.192100E-5 -3.890000E+1 1.096730E-5 -3.880000E+1 1.192100E-5 -3.870000E+1 1.192100E-5 -3.860000E+1 1.192100E-5 -3.850000E+1 1.192100E-5 -3.840000E+1 1.239780E-5 -3.830000E+1 1.192100E-5 -3.820000E+1 1.239780E-5 -3.810000E+1 1.192100E-5 -3.800000E+1 1.239780E-5 -3.790000E+1 1.192100E-5 -3.780000E+1 1.192100E-5 -3.770000E+1 1.144420E-5 -3.760000E+1 1.192100E-5 -3.750000E+1 1.096730E-5 -3.740000E+1 1.192100E-5 -3.730000E+1 1.096730E-5 -3.720000E+1 1.144420E-5 -3.710000E+1 1.096730E-5 -3.700000E+1 1.096730E-5 -3.690000E+1 1.096730E-5 -3.680000E+1 1.096730E-5 读取坐标数据后画图,效果如下: 1.读取直接使用函数:文件I/0——》读取电子表格文件

第四讲java数组和字符串

概述 什么是数组?除了基本数据类型,还提供一种导出类型:数组.数组是相同类型地数据按顺序组成地一种复合数据类型,通过数组名和下标,可以使用数组中地数据.下标从开始.数组是所有编程语言中常用地数据结构. 为什么要数组呢?我们来举一个例子.假设我们需要表示一个班个人地数学成绩,要求求出平均成绩.如果没有数组,我们需要用前面学过地声明变量地方法,声明个变量,写次加法运算!数组可以大大地简化类似地问题!我们只要声明一个长度为地整型数组,结合上一讲我们学过地循环语句,就可以很方便地解决这个问题! 在以前地编程语言比如或者中,字符串也使用数组来表示地:字符串是字符数组!所以字符串与数组有着天然地联系.但是在中,提供了一种更方便地表示字符串地方法:用一个类来表示.类是面向对象地语言特有地概念,对于初次接触面向对象技术地人来说,比较难理解.所以,这一讲,我们将学习表示字符串地类,也对类地使用有一个粗略地了解,作为下一讲详细学习类地准备. 需要指出地是,语言里地其他两种导出类型:结构体和共用体,在里已经被取消. 下面,我们来学习数组和字符串. 数组地声明、创建和初始化 数组地声明: 声明数组,包括声明数组地名字、数组包含地元素地数据类型.数组可以一维地,也可以是二维或者多维地.举例来说:一个班有个人,我们用一个长度为地一维数组表示;如果要表示每个同学地五门高考成绩,那我们就需要用一个第一维长度为,第二维长度为地二维数组. 声明一维数组有两种格式: 数组元素类型数组名[ ]; 数组元素类型[ ] 数组名; 比如:[ ]; 或者:[ ] ; 类似地,声明二维数组有两种格式: 数组元素类型数组名[ ][ ]; 数组元素类型[ ][ ] 数组名; 比如:[ ][ ]; 或者:[ ][ ] ; 下面,我们主要以一维数组为例,学习数组地用法. 数组地创建: 声明数组仅仅给出了数组名字和元素地数据类型,想要真正使用数组还必须为数组分配内存空间,也就是创建数组.在为数组分配内存空间时必须指明数组地长度.为数组分配内存空间地格式如下: 数组名数组元素地类型[ 数组地长度] 例如:[]; [] []; 事实上,数组地声明和创建可以一起完成,比如: [ ] []; 一旦数组被创建,数组地大小就不能改变.如果在程序运行期间,需要对数组地大小进行扩展,通常需要使用另一种数据对象:.有关向量和扩展数组,有兴趣地同学可以在帮助中查找地帮助.

lABVIEW关于数据类型的编辑:数组、簇和波形

数据类型:数组、簇和波形 .1概述 数组是同类型元素的集合。一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。可以通过数组索引访问其中的每个元素。索引的范围是0到n – 1,其中n是数组中元素的个数。图3-1所显示的是由数值构成的一维数组。注意第一个元素的索引号为0,第二个是1,依此类推。数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。 图3-1数组示意图 簇(Cluster)是另一种数据类型,它的元素可以是不同类 型的数据。它类似于C语言中的stuct。使用簇可以把分布在流 程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤 程度。减少子VI的连接端子的数量。 波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。 3.2数组的创建及自动索引 3.2.1创建数组 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(如果需要用一个数组作为程序的数据源,可以选择Functions?Array?Array Constant,将它放置在流程图中。然后再在数组框中放置数值常量、布尔数还是字符串常量。下图显示了在数组框放入字符串常量数组的例子。左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。 图3-1数组的创建 在前面板中创建数组的方法是,从Controls模板中选择 Array & Cluster,把数组放置在前面板中,然后选择一个对象 (例如数值常量)插入到数组框中。这样就创建了一个数值数组。 也可以直接在前面板中创建数组和相应的控制对象,然它们

Labview数组

创建多维数组首先要在一维数组基础上修改维数。修改数组维数通常有以下几种方法。 (1)改变索引框大小来增减维数。将光标移至索引号四周,出现改变大小的箭头,单击鼠标拖动箭头改变索引号框的大小和索引号的个数。索引号的个数就代表数组的维数,如图1所示为拖出了两个索引号,成为二维数组,然后再改变元素区域大小以显示出二维数组。 图1 改变索引号大小以创建二维数组 (2)通过索引号的右键快捷菜单选项“添加维度”来增加数组的维数,通过选项“删除维度”来减少数组的维数,如图2所示。 (3)选择数组的右键快捷菜单选项“属性”,在弹出的属性对话框中改变数组的维数,如图3所示,在对话框“外观〃选项卡左下方的“维”数字框中即可设置维数。

图2 通过索引号的右键快捷菜单选项增减维数

图3 数组属性对话框 在前面板窗口中,可以创建上述输入控件数组,也可以创建显示控件数组。在添加元素时选择添加显示控件即可创建显示控件数组。 在程序框图窗口中可以创建数组常量。在程序框图函数选板中选择“编程-数组→数组常量”置于程序框图窗口中,出现如图4所示数组常量框架。数组常量框架类似于前面板数组框架,包括索引号和元素区域。 创建数组常量的过程与创建输入控件数组类似,设置显示的元素和增减维数的方法也相同。首先在数组常量框架中然后设置数组元素,操作过程如图5 所示。

图4 数组常量框架 图5创建数值型数组常量 首先要说明一下,LabVIEW中其实并没有明确的赋值的概念,他和传统的文本编程语言的思路不一样,是数据流驱动的编程。在一般的文本编程语言里,定义二维数组变量的时候只是开辟了一块内存空间,里面是空的,所以要有赋值的过程;而LabVIEW中内存不需要手动分配,其后台有自动管理内存的机制,出现新的二维数组的时候,不需要变量定义,直接分配内存空间,然后就把数据存进去了。如果硬要说有什么“赋值”的概念的话,LabVIEW中倒是有几种常见的类似于“赋值”的操作。 1.在二维数组控件的前面板里直接填入数值 这个最简单,不用多说想必你也明白,手动填数。 2.创建单一元素的数组 需要用到初始化数组,见下图

labview数组、簇和图形的区别

数组是同类型元素的集合。一个数组可以是一维或者多维, 如果必要,每维最多可有231-1个元素。可以通过数组索引访问 其中的每个元素。索引的范围是0到n – 1,其中n是数组中 元素的个数。图3-1所显示的是由数值构成的一维数组。注意 第一个元素的索引号为0,第二个是1,依此类推。数组的元素 可以是数据、字符串等,但所有元素的数据类型必须一致。 图3-1数组示意图 簇(Cluster)是另一种数据类型,它的元素可以是不同类 型的数据。它类似于C语言中的stuct。使用簇可以把分布在流 程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤 程度。减少子VI的连接端子的数量。 波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。 3.2数组的创建及自动索引 3.2.1创建数组 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。 如果需要用一个数组作为程序的数据源,可以选择 Functions?Array?Array Constant,将它放置在流程图中。然后 再在数组框中放置数值常量、布尔数还是字符串常量。下图显示 了在数组框放入字符串常量数组的例子。左边是一个数组壳,中 间的图上已经置入了字符串元素,右边的图反映了数组的第0个 元素为:”ABC”,后两个元素均为空。 图3-1数组的创建 在前面板中创建数组的方法是,从Controls模板中选择 Array & Cluster,把数组放置在前面板中,然后选择一个对象 (例如数值常量)插入到数组框中。这样就创建了一个数值数组。 也可以直接在前面板中创建数组和相应的控制对象,然后将

实验三.数组与字符串

1.实验三数组与字符串 一、实验目的: 1.熟悉Java的数组的使用,编程练习数组声明、定义、遍历和排 序等操作。 2.熟悉Java的字符串相关类的使用,通过编程实现针对字符串的 一般操作。 二、实验内容: 1.定义一个有10个元素的整型数组,找出最大最小值; 2.定义一个有10个元素的整型数组,用选择法实现由小到大排序; 3.定义一个能实现冒泡法排序的方法bSort(int[] arr),然后定义并 初始化一4*5的二维数组,用bSort(int[] arr)将该二维数组的每 行元素进行升序排序; 4.编程求解一个3*3矩阵每一行的元素之和,每一列元素之和,对 角线元素之和,并输出。 5.接收键盘输入的字符串,使用String类的方法indexOf()来统 计该字符串中各个字符出现的次数。 6.设定并初始化一个字符串数组,并将数组中那些以字母b开头的 元素打印出来。 7.接收键盘输入的字符串,分别按顺序输出该字符串中的大写字符 和小写字符。 8.接收键盘输入的英文字符串(单词之间用空格隔开),将字符串 中出现的单词首字母改成大写后输出。 三、实验要求: 1.通过实验掌握数组的定义和初始化; 2.掌握数组最值求解算法; 3.掌握数组的基本排序算法; 4.掌握遍历数组的算法; 5.通过实验掌握String类的使用; 6.通过实验掌握String类常用方法的使用;

7.从JDK文档中查阅String类的以下方法(与本实验内容相关): split(),startWith(),toUpperCase(),indexOf(),charAt(),并说明 它们的用法; 8.写出实验报告。 四、实验学时:3学时 五、实验步骤: 1.进入Java编程环境; 2.新建一个Java文件,编写main()方法实现一维数组求最值的算 法; 3.新建一个Java文件,编写main()方法实现一维数组选择法排序 算法; 4.新建一个Java类,定义bSort(int[] arr)方法(冒泡法)实现数组 升序排序,然后在main方法里实现对一4*5二维数组每行元素 的升序排序; 5.新建一个Java文件,编写main()方法声明并初始化一两维3*3 数组,设计算法实现行、列和对角线元素的求和操作; 6.编写主方法main(),其中实现接收键盘输入功能、文件操作功能 和文件内容输出功能; 7.调用相应构造方法创建String对象; 8.查阅JDK文档,找出可以实现实验内容的String方法,设计算 法,编写程序; 9.调试运行程序,观察输出结果。

JAVA实验五 字符串和数组

实验五字符串和数组 【实验目的】 1.掌握数组的声明、分配空间及初始化 2.理解多维数组(重点掌握二维) 3.掌握String类的特点及常用方法的使用 4.掌握StringBuffer类的特点及常用方法的使用 5.掌握String类和StringBuffer类的区别 6.掌握equal方法与==的区别 【预习内容】 1.复习课件中理论知识 2.练习课堂所讲的例子 【实验内容及步骤】 1、请输入10个整数进行排序。 package com.shiyan5; import java.util.Scanner; public class ShiYan1 { /** * 1、请输入10个整数进行排序。 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner s= new Scanner(System.in); int[] a=new int[10]; System.out.println("请输入10个整数"); for(int i=0;i<10;i++){ a[i]=s.nextInt(); } System.out.print("输入原序列为:"); for(int i=0;i<10;i++){ System.out.print(a[i]+" "); } for(int i=0;i<10;i++){ for(int j=i+1;j<10;j++){ if(a[i]>a[j]){ int t=a[i]; a[i]=a[j];

a[j]=t; } } } System.out.print("\n排序后:"); for(int i=0;i<10;i++){ System.out.print(a[i]+" "); } } } 2、定义一个10个元素组成的一维数组,输出该数组中的最大值、最小值、所有元素总和,以及最大值和最小值在该数组中的位置。 package com.shiyan5; import java.util.Scanner; public class ShiYan2 { /** * 定义一个10个元素组成的一维数组,输出该数组中的最大值、最小值、所有元素总和 * ,以及最大值和最小值在该数组中的位置。 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner s=new Scanner(System.in); int[] a=new int[10]; System.out.println("请输入10个整数"); for(int i=0;i<10;i++){ a[i]=s.nextInt(); } int max=a[0]; int min=a[0]; int maxwz=0; int minwz=0; int sum=0; for(int j=0;jmax){ max=a[j]; maxwz=j+1; } if(a[j]

Labview 第三章 数据类型:数组、簇和波形

第三章数据类型:数组、簇和波形 3.1概述 数组是同类型元素的集合。一个数组可以是一维或者多维, 如果必要,每维最多可有231-1个元素。可以通过数组索引访 问其中的每个元素。索引的范围是0到n –1,其中n是数组 中元素的个数。图3-1所显示的是由数值构成的一维数组。注 意第一个元素的索引号为0,第二个是1,依此类推。数组的元 素可以是数据、字符串等,但所有元素的数据类型必须一致。 图3-1数组示意图 簇(Cluster)是另一种数据类型,它的元素可以是不同类 型的数据。它类似于C语言中的stuct。使用簇可以把分布在流 程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤 程度。减少子VI的连接端子的数量。 波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。 3.2数组的创建及自动索引 3.2.1创建数组 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。 如果需要用一个数组作为程序的数据源,可以选择 Functions?Array?Array Constant,将它放置在流程图中。 然后再在数组框中放置数值常量、布尔数还是字符串常量。下图 显示了在数组框放入字符串常量数组的例子。左边是一个数组 壳,中间的图上已经置入了字符串元素,右边的图反映了数组的 第0个元素为:”ABC”,后两个元素均为空。 图3-1数组的创建

在前面板中创建数组的方法是,从Controls模板中选择 Array & Cluster,把数组放置在前面板中,然后选择一个对象 (例如数值常量)插入到数组框中。这样就创建了一个数值数组。 也可以直接在前面板中创建数组和相应的控制对象,然后将 它们复制或者拖曳到流程图中,创建对应的常数。 还有很多在流程图中创建和初始化数组的方法,有些功能函 数也可以生成数组。 3.2.2数组控制对象、常数对象和显示对象 通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。数组元素不能是数组、图表或者图形。如果您想查看一些数组的例子,请查看Examples\General\arrays.llb中的例子。 3.2.3自动索引 For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计。这些功能称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。在输出通道也要执行同样的工作――数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。 在默认情况下,对于每个连接到For循环的数组都会执行 自动索引功能。可以禁止这个功能的执行,方法是用鼠标右键单 击通道(输入数组进入循环的位置),在快捷菜单中选择Disable Indexing。 练习3-1创建一个自动索引的数组 目的:使用For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。 前面板 图3-2练习3-1的面板 1.打开一个新的前面板。 2.选择Controls?Array & Cluster,在前面 板中放置一个数组。设置它的标签为Waveform Array。

labview数组排序算法

18.2.2 冒泡排序 “冒泡”是什么意思?湖底有时会冒出一个气泡,气泡刚在湖底时,是很小的,在向上浮的过程中,才一点地慢慢变大。学过高中的物理的人,应该不难解释这一现象。冒泡排序的过程有点类似这个过程,每前进一步,值就大一点。 排序当然有两个方向,一种是从小排到大,一种是从大排到小。大多数教科书里都讲第一种,我们也如此。这样一来,冒泡排序法就改为“沉泡法”了,较大值一点点跑到数组中的末尾。 一般教科书里也会说,冒泡排序法是人们最熟悉,及最直观的排序法,我可不这样认为。或许老外在生活中用的是这种最笨的排序法?我猜想,大家在生活中99%使用后面要讲的“选择”排序法。 冒泡排序是这么一个过程(从小到大): 1、比较相邻的两个元素,如果后面的比前面小,就对调二者。反复比较,到最后两个元素。结果,最大值就跑到了最末位置。 2、反复第一步,直到所有较大值都跑到靠后的位置。 看一眼例子: 2,5,1,4,3 第一遍: ·比较第一对相邻元素:2,5,发现后面的5并不比2小,所以不做处理。序列保持不变:2,5,1,4,3

·继续比较后两对元素:5,1,发现后面的1比前面的5小,所以对调二者。现在,序列变为:2,1,5,4,3 ·继续比较后两对元素:5,4……对调,于是:2,1,4,5,3 ·继续比较后两对元素:5,3……对调,于是:2,1,4,3,5 <----- OK,现在最大值5跑到最尾处了。 大泡泡“5”浮出来了,但前面的2,1,4,3,还是没有排好,没事,再来一遍,不过,由于最后一个元素肯定是最大值了,所以我们这回只排到倒数第二个即可。 第二遍: ·比较第一对相邻元素:2,1,发现1比2小,所以对调:1,2,4,3,5 ·继续比较后两对元素:2,4,不用处理,因为后面的数比较大。序列还是:1,2,4,3,5 ·继续 4,3,对调:1,2,3,4,5。 前面说,5 不用再参加比较了。现在的序列是1,2,3,4,5。接下来,我们再来一遍: 第三遍: ·比较第一对相邻元素:1,2:不用对调。 ……等等…… 有人说,现在已经是1,2,3,4,5了,完全是排好序了啊,何必再来进行呢?我们确实是看出前面1,2,3也井然有序了,但对于程序来说,它只能明确地知道自己已经排好了两个数:4,5,并不知道的1,2,3凑巧也排好了。所以它必须再排两次,直到确认把3和2都已推到合适的位置上。最后剩一个数是1,因为只有一个数,没得比,所以这才宣告排序结束。 那么到底要排几遍?看一看前面的“第一遍”、“第二遍”的过程你可发现,每进行一遍,可以明确地将一个当前的最大值推到末尾,所以如果排 Count 个数,则应排 Count 遍。当然,最后一遍是空走,因为仅剩一个元素,没得比较。

数组(labview系列教程之七)

07、数组 数组是由同一类型数据元素组成的大小可变的集合。同其他语言一样,Labview也提供了数组结构,数组是相同数据类型的集合,这些数据类型可以是数组型,布尔型,字符串型等。当需要频繁地对一批数据进行绘图时,使用数组将获益匪浅。下面将详细介绍数组及数组函数的各种用法。 创建数组 1.从前面板上创建数组:打开前面板,在控件→新式→数组,矩阵与簇→数组,如图: 再在里面放置一个数值输入控件即可,如图:

如果要显示更多的数组成员,在工具选项板上选择定位工具,在数组的边框停滞,当出现网状拐角后就可以拖动增加或减少显示区域。如图: 如果要增加或减少数组的维度,既可以在索引框的快捷菜单上执行,如图: 增加后如图: 对于二维数组来说,索引框中上一个为行索引,下一个为列索引。 2.程序框图上创建数组:在程序框图上创建数组和在前面板上创建数组有点类似,也首先创建一个外壳,然后再放入数值型常量,枚举或环形常量,字符串型常量以及布尔型常量等。刚刚放入常量后,所有的数组成员显示为灰色,可以用操作工具依次给它们赋值,赋

值范围以外的数组成员保持灰色不变。如果跳过一些数组成员给后面的成员赋值,则前面的成员自动赋一个系统默认的值。 先在程序框图上放置一个数组常量,位于函数→编程→数组→数组常量,如图: 然后再往里放入一个数值常量,完成后如图: 数组函数 数组函数的面板如图:

设计步骤如下: 1.创建一个For循环,循环次数定为100次 2.在数学函数中调用Sinc函数,重复端子作为输入,输出用一个波形图表和一个数组 显示。如图:

例二:创建一个二维数组 1.程序框图如图所示: 2.现在已经有两组一维数组了,可以使用创建数组函数就可以把他们创建为二维数组, 在一个波形图中显示,如图:

第四讲java数组和字符串

第四讲数组和字符串 1概述 什么是数组?除了基本数据类型,Java还提供一种导出类型:数组。数组是相同类型的数据按顺序组成的一种复合数据类型,通过数组名和下标,可以使用数组中的数据。下标从0开始。数组是所有编程语言中常用的数据结构。 为什么要数组呢?我们来举一个例子。假设我们需要表示一个班50个人的数学成绩,要求求出平均成绩。如果没有数组,我们需要用前面学过的声明变量的方法,声明50个变量,写50次加法运算!数组可以大大地简化类似的问题!我们只要声明一个长度为50的整型数组,结合上一讲我们学过的循环语句,就可以很方便地解决这个问题! 在以前的编程语言比如C或者C++中,字符串也使用数组来表示的:字符串是字符数组!所以字符串与数组有着天然的联系。但是在Java中,提供了一种更方便的表示字符串的方法:用一个String类来表示。类是面向对象的语言特有的概念,对于初次接触面向对象技术的人来说,比较难理解。所以,这一讲,我们将学习表示字符串的String类,也对类的使用有一个粗略的了解,作为下一讲详细学习类的准备。 需要指出的是,C语言里的其他两种导出类型:结构体和共用体,在Java里已经被取消。 下面,我们来学习数组和字符串。 2数组的声明、创建和初始化 2.1数组的声明: 声明数组,包括声明数组的名字、数组包含的元素的数据类型。数组可以一维的,也可以是二维或者多维的。举例来说:一个班有50个人,我们用一个长度为50的一维数组表示;如果要表示每个同学的五门高考成绩,那我们就需要用一个第一维长度为50,第二维长度为5的二维数组。 声明一维数组有两种格式: 数组元素类型数组名[ ]; 数组元素类型[ ] 数组名; 比如:int student[ ]; 或者:int[ ] student; 类似地,声明二维数组有两种格式: 数组元素类型数组名[ ][ ]; 数组元素类型[ ][ ] 数组名; 比如:int score[ ][ ]; 或者:int[ ][ ] score; 下面,我们主要以一维数组为例,学习数组的用法。 2.2数组的创建: 声明数组仅仅给出了数组名字和元素的数据类型,想要真正使用数组还必须为数组分配内存空间,也就是创建数组。在为数组分配内存空间时必须指明数组的长度。为数组分配内存空间的格式如下: 数组名= new 数组元素的类型[ 数组的长度] 例如:student = new int [50]; score = new int [50] [4]; 事实上,数组的声明和创建可以一起完成,比如: int student [ ] = new int [50];

簇(labview系列教程之八)

08、簇 簇 簇是一种类似数组的数据结构,用于分组数据。簇和数组有着重要的差别,其中一个重要差别是,簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型。例如,一个数组可以包含10个数字指示器,一个簇却可以包含一个数字控件,一个开关和一个字符串控件。 尽管簇和数组的元素都是有序存放的,但访问簇的元素最好是通过释放的方法同时访问其中部分或全部元素,而不是通过索引一次访问一个元素。簇和数组的另一个差别是簇具有固定的大小。 簇通常用于将出现在框图上的有关数据元素分组管理。因为簇在框图中仅用唯一的连线表示,所以对于减少连线混乱和子VI需要的连接器端子个数,使用簇有着积极的效果。可以将簇看做是一捆连线,线缆中每一个连线表示簇的不同元素。在框图上,只有当簇具有相同类型,相同元素数量和相同元素顺序时,才可以将簇的子端连接。多态性应用于簇时,只需要簇具有同样顺序,同样数量的元素。 下面来向大家介绍簇的创建簇的创建框位于前面板中的控件→新式→数组,矩阵和簇 →簇,如图: 然后就可以往簇的框中添加各种类型的控件了,例如现在要建立一个学生的记录信息,包括学生的姓名,学号,性别和年龄.这就需要在簇外壳里依次放入两个字符串输入控件,一个数字控件和一个布尔控件.如图:

与数组的创建类似,簇也可以从程序框图中创建,先在程序框图上放置一个簇外壳,然后就可以在簇外壳里放置各种数据类型常数。如图: 簇内对象的大小是可以调整的,右击簇边界,在弹出的快捷菜单中可以选择各种调节操作,如图: 选择调整为匹配大小,即可缩小簇的边框,如图为调整后的结果:

簇结构中的元素排列是按照它们放置的先后来排序的,它与簇内元素的位置无关。放入簇内的第一个元素序号为0,第二个元素序号是1,依次向下排列。如果删除了一个元素,序号将重新自动调整。簇的排序很重要,它直接影响着后面将要介绍的“捆绑”以及“接触捆绑”函数的端口顺序,如果你想将一个簇与另一个簇连接,这两个簇的序和类型必须相同。 如果想要改变簇内元素的排列顺序,可以右击簇结构的边框,在弹出的快捷菜单中执行“重新排序簇中控件”,如图: 这时鼠标会变成一个带“#”号的手柄箭头,黑框指出新设置的排列序号,白框表示原先的排列序号,可以改变标题栏上的“单击设置”内容,然后单击簇元素即可设置新的序号。设置完毕后单击工具栏上的“”按钮确定更改,如果想恢复原先设定值,单击 “”取消设置。 b) 簇函数 簇函数的模版如图:

LabVIEW中的数组操作函数

LabVIEW中的数组操作函数 现在我们已经了解了LabVIEW中的数组的一些基本概念(包括了前面这几篇文章LabVIEW中的数组、LabVIEW中数组的自动索引、LabVIEW中的二维数组)。在这篇文章里面我们接着讨论一下如何操作数组了。在LabVIEW的Functions(函数)工具框的Programming>>Array子工具框中有很多操作数组的函数。(我们在使用数组的时候要记住LabVIEW中的数组元素的索引是从0开始的,也就是说它的第一个元素的索引为0,第二个元素的索引为1,以此类推。)我们将在这里讲解常用的数组操作函数,LabVIEW中数组函数的工具框如下图所示: ?初始化数组函数将创建并按照你设定的值来初始化N维数组。通过将光标置于该函数最下方边框,出现拖动光标后向下拖动就可以为该数组增加维数。该函数适用于为已知大小的数组分配内存或者是初始化数组类型数据的移位寄存器。该函数如下图所示: ?数组大小函数会返回输入数组的元素的个数。如果输入的数组为N维的多维数组,该函数就会返回有N个元素的一维数组,每个元素按顺序对应每维的元素的个数。该函数如下图所示: ? ?创建数组函数(BuildArray)可以根据你的设置来将两个数组连接或合成为一个数组以及为现有数组添加新的元素。当第一次将该函数放到LabVIEW的框图中的时候,该函数可能像下图左侧所示是个非常简单的图标。你可以通过拖动该函数下边框的图标或者是通过在该函数上点击右键从右键菜单中选择AddInput来为该函数增加输入参数的个数,如下图右侧所示。该函数可以有两种类型的输入:数组以及数组元素,该函数可以从数组以及单值的输入来组装一个新的数组。 ? 创建数组函数的输入会根据你连接到输入端点的数据类型自动调整为元素类型或数组类型的输入。在更高级的应用中,该函数还可以创建多维数组或者是为多维数组增加新的数组元素。为多维数组增加元素时,该元素必须是比要增加的数组小一维的数组。例如,为二维数组添加的新元素必须是一个一维数组。也可以将多个一维数组作为元素连接到这个函数的输入端点上来创建一个新的二维数组,每个一维数组就成为这个二维数组的一行。如果你只是将这些一维数组接续为一个新的一维数组的话,就需要在该函数上点击鼠标右键并从右键菜单中选择ConcatenateInputs选项。 ?子数组函数会按照该函数输入的起始索引以及长度返回输入数组的一部分。该函数如下图所示: ? 在使用这个函数的时候一定要记住LabVIEW中数组的索引是从0开始的,第一个数组元素的索引是0,而不是1。?获取数组元素函数(IndexArray)可以用来访问数组中的某个特定元素。该函数如下图所示。 ? 对于一维数组来说,只要输入要访问的元素的索引就可以在对应的输出得到该元素的值;不过对于二维数组来说,通过输入特定元素的行号、列号就可以访问到该元素的值,如果你想获得某行或某列的全部值,那么在输入端只输入行号或列号即可。 ?删除部分数组函数(DeleteFromArray)可以删除数组中从某一索引号开始某设定长度的部分并返回删除该部分后的数组以及被删除的部分数组。该函数如下图所示:

相关主题
文本预览
相关文档 最新文档