如何在B4A中获取数组的元素?

时间:2015-04-19 07:41:15

标签: basic4android

我有这段代码,但似乎“randomChar”是未使用的变量。

        Dim validchars(3) As String 
        Dim i As Int
        validchars(0) ="+"
        validchars(1) ="-"
        validchars(2) ="*"


        Dim idx As Int = Rnd(0, validchars.Length) 
        Dim randomChar As String = validchars(idx)

3 个答案:

答案 0 :(得分:0)

嗨,你的意思是你得到编译器警告? 如果是这样,你的代码工作,那么忽略它,否则你可以尝试 将有效字符设置为一个字符串,然后将字符串2设置为您要引用的字符串。

答案 1 :(得分:0)

数组索引从零(0)开始,所以如果随机ie idx在技术上产生3,那么你的数组应该是2,所以使用你当前的代码,它会产生错误,因为3不存在。

有效字符及其数组索引 (+ index为0, - index为1,* index为2)

从idx中修复减1,并从1

开始Rnd
 Dim idx As Int = Rnd(1, validchars.Length)
Dim randomChar As String = validchars(idx - 1)

在这种情况下,如果idx(即随机生成的数字是3,减去1它将等于2,这是*,同样如果idx是1 - 1将是零,这是+

答案 2 :(得分:0)

您将收到编译器警告(未使用的变量' randomChar'),您可以忽略它。

Rnd(min,max)从min(包括)变为max(独占),所以

Dim Int idx = Rnd(0,validchars.Length)  

idx将从0变为(validchars.length-1)。以下数组访问始终有效。您的代码永远不会崩溃。