【问题标题】:Multidimensional Array Homework多维数组作业
【发布时间】:2012-06-03 21:13:40
【问题描述】:

我有一个名为 txtBox1 的文本框、一个名为 txtbox2 的第二个文本框、一个标签和一个按钮。我需要创建一个函数

  1. 接受 2 个整数参数并返回一个字符串。
  2. 根据传入这些参数的整数创建一个二维数组。第一个整数参数代表txtbox1,第二个整数参数代表txtbox2。
  3. 使用嵌套的 for 循环以从 1 开始的递增值填充数组元素
  4. 作为循环结构的一部分,跟踪字符串变量中的所有元素值并用逗号分隔它们。例如,如果用户在 txtbox1 中输入 3,在 txtbox2 中输入 5,然后单击按钮,我们会得到一个如下所示的数组:

    :Length=15
    (0,0): 1    
    (0,1): 2
    (0,2): 3
    (0,3): 4
    (0,4): 5
    (1,0): 6
    (1,1): 7
    (1,2): 8
    (1,3): 9
    (1,4): 10 
    (2,0): 11
    (2,1): 12
    (2,2): 13
    (2,3): 14
    (2,4): 15    
    

    元素中填充的值将是 1,2,3,4,5,6,7,8,9,10,11,12,13,14 和 15。

  5. 传回的字符串格式为“array is 3 x 5 and the values in the array elements are 1,2,3,4,5,6,7,8,9,10,11,12, 13,14,15”。
  6. 使用此字符串值填充标签。

这是我目前所拥有的......

Shared Function myArray(int1 As Integer, int2 As Integer) As String

    Dim Array(int1 - 1, int2 - 1) As Integer
    Dim i As Integer
    Dim j As Integer
    Dim counter As Integer = 1

    For i = 0 To int1 - 1
        For j = 0 To int2 - 1
            Array(i, j) = counter
            counter += 1
        Next
    Next

    Return Array(i, j)

End Function

【问题讨论】:

    标签: forms function vba multidimensional-array


    【解决方案1】:

    好的,所以你几乎拥有它。我假设您只停留在#4上。如果我输入了错误的语法,请见谅,我很久没有做过VB了,我是凭记忆做的。

    让我们看看你有什么:

    For i as integer = 0 To int1 - 1
        For j as integer = 0 To int2 - 1
            Array(i, j) = counter
            counter += 1
    

    这里您使用counter 用增量值填充数组。您可以在另一个字符串变量中使用此变量,并在它们之间添加逗号:

    首先:在顶部添加一个字符串变量:

    Dim Array(int1 - 1, int2 - 1) As Integer
    Dim i As Integer
    Dim j As Integer
    Dim counter As Integer = 1
    Dim output as String = nothing
    

    然后,在循环中使用该变量:

    For i = 0 To int1 - 1
        For j = 0 To int2 - 1
            Array(i, j) = counter
            output += "" & counter & ", "
            counter += 1
        Next
    Next
    

    最后,将您的 return 更改为发送 output 而不是数组中的元素

    return output
    

    如果您想格式化字符串以使最后一个“,”不显示,请查看Strings.Left 函数。它会是这样的:

    output = Left(output, Len(output) - 2) 'I am not sure if this is a 2 or 3, run and test
    

    好的,希望对您有所帮助。随时要求澄清或其他什么。

    【讨论】:

    • 非常感谢您对其工作的澄清,但是当使用输出时,它在拾取字符串时从 2 而不是 1 开始?...任何想法为什么??
    • 想通了,从 counter 变量中取出 = 1。感谢您的所有帮助!
    • 操作,是的,你说得对。我将编辑答案以使其正确。很高兴我能帮上忙。
    猜你喜欢
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多