比如说有这么一组数组,我想用多选框来添加每一条,比如说多选框1单独选中时 数组只有CR(0),UR(0);当多选框1和多选框3选中时,就有CR(0),CR(2),UR(0),UR(2)。。。。以此类推。
因为CR(n)="xxxxx",后面这个""(冒号是不可缺少的)。希望有大神能给解答一下
1.引例 求100个学生的平均成绩及超过平均成绩的人数。 如果用一般变量来表示成绩,需要用100个变量,如:mark1、mary2、……mark100。若用数组,可以只用一个来表示mark(99)。2.基本概念 数组:是同类型变量的一个有序的集合。 如:A(99),表示一个包含100个数组元素的名为A的数组。 数组元素: 如:A(3,2)代表二维数组A中第3行第2列上的那个元素。 数组维数: 由数组元素中下标的个数决定,一个下标表示一维数组,二个下标表示二维数组。 VB中有一维数组、二维数组、……最多60维数组。 下标: 下标表示顺序号,每个数组有一个唯一的顺序号,下标不能超过数组声明时的上、下界范围。下标可以是整型的常数、变量、表达式,甚至又是一个数组元素。 下标的取值范围是:缺省下界时,系统默认取0。3.数组声明 数组必须先声明后使用。声明数组就是让系统在内存中分配一个连续的区域,用来存储数组元素。 声明内容:数组名、类型、维数、数组大小。 一般情况下,数组中各元素类型必须相同,但若数组为Variant时,可包含不同类型的数据。 静态数组:声明时确定了大小的数组。 动态数组: 声明时没有给定数组大小(省略了括号中的下标),使用时需要用ReDim语句重新指出其大小。 使用动态数组的优点是根据用户需要,有效地利用存储空间,它是在程序执行到ReDim语句时才分配存储单元,而静态数组是在程序编译时分配存储单元。
(3) 如果省略类型,则为变体型例: (1) Dim A(10) 声明了A是数组名、一维数组、有11个元素,下标的范围是0~10。2.多维数组 静态多维数组的声明形式: Dim 数组名(下标1[,下标2…]) 说明: (1)下标个数决定数组的维数,最多60维。 (2)每一维的大小=上界-下界+1;数组的大小=每一维大小的乘积。 例:Dim C(5, 4) 声明了C是数组名、长整型、二维数组、第一维下标范围为0~5,第二维下标的范围是0~4,占据6x 5个长整型变量的空间。3.注意事项 (1)在有些语言中,下界一般从1开始,为了便于使用,在VB的窗体层或标准模块层用Option Base n 语句可重新设定数组的下界,如Option Base 1。 (2) 在数组声明中的下标关系到每一维的大小,是数组说明符,而在程序其他地方出现的下标为数组元素,两者写法相同,但意义不同。 (3) 在数组声明时的下标只能是常数,而在其他地方出现的数组元素的下标可以是变量。
1. 动态数组的建立与声明 建立动态数组的方法是:利用Dim、Private、Public语句声明括号内为空的数组,然后在过程中用ReDim语句指明该数组的大小。语法是: ReDim 数组名(下标1[,下标2…]) 其中下标可以是常量,也可以是有了确定值的变量,类型可以省略,若不省略,必须与Dim中的声明语句保持一致。 例: Dim D() Sub Form_Load() …… ReDim D(4,6) …… End Sub2.注意事项 (1)在动态数组ReDim语句中的下标可以是常量,也可以是有了确定值的变量; (2)在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数。 (3)每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。3.动态数组使用示例
在早期的VB中,这需要用循环语句才可以实现: ReDim b(UBound(a)) For I=0 to UBound(a) b(I)=a(I) Next 注意:(1)赋值号两边的数据类型必须一致; (2)如果赋值号左边的是一个动态数组,则赋值时系统自动将动态数组ReDim成右边相同大小的数组; (3)如果赋值号左边的是一个大小固定的数组,则数组赋值出错。4.数组的输出 用For……Next循环语句输出。5.求数组中最大元素和所在下标及各元素之和 求数组中最大元素及下标,一般假设第一个元素及下标为最大,然后将该数与数组中的其他元素逐一比较,若有比其大的就替换,同时替换下标。6.交换数组中各元素 交换的要求是将数组第一个元素与最后一个交换,第二个与倒数第二个交换,依次类推。
带你进一步了解安卓按键的二维数组
本文由按键学院提供技术支持
按键学院交流①群(1群已满):
按键学院交流②群(2群):
按键学院交流③群(3群):
【按键学院】安卓课程()
对于常写代码的同学们来说,数组这个概念完全是不陌生的,他可以很方便的存储、读取数据 。大家用的最多的应该就是普通的一维数组了,也就是数组元素都是由字符串\数字之类的单一数据组成的数组。 |
第一种一个数组有2个下标,这两个下标每个组合都是一个元素,数组(0,0),数组(0,1),数组(0,2),数组(0,3) ....数组(1,0),数组(1,1) ... 可以用下面的图来说明
第二种另外一种数组其实就是LUA语言本身的特性,这个二维数组本身也还是只有一个下标,但是数组里的元素也是数组。
PS: 这两种方法在安卓按键上都是可以使用的,其中第二种方法是只能在安卓按键上使用,在PC版本的按键精灵上只能使用第一种的二维数组表达方法。二维数组可以比较灵活、直观的存储分组的数据,比如屏幕上多组特征的对应的每个坐标等等(比如连连看之类的游戏,可以记录下各个特征的坐标存放到二维数组里)
下面就介绍下这两种二维数组的赋值方法以及调用方法第一种形式第一种数组拥有多个下标,所以我们可以用两层for计次循环来轮流遍历出两个下标的组合,遍历的过程中就可以进行赋值