【发布时间】:2015-07-03 14:26:46
【问题描述】:
我遇到了循环问题。我正在编写一个程序,该程序循环遍历彩票图纸并对图纸进行一些不同的分析。我遇到的问题是,因为循环是基于 0 的,但彩票图中没有数字 0 我无法弄清楚如何从 1 而不是 0 开始循环。此外,当我切出一个整数时,如果整数是一位数循环在一位数之前看不到零,并计算所有整数中的所有 0-9。我正在尝试获取一个整数,然后勾选数组的那个元素。这是循环。
'Choices(59) is passed into the loop from a click event
Private Sub GetFrequency(Choices() As Integer)
Dim Size As Integer = UsersChosenHistory.Length() 'Size
Dim Number As Integer = 1
Dim Start As Integer = 0
Dim Finish As Integer = 3'Grab 3 chars, a space + 2 digit Integer
For i As Integer = 1 To Size - 1 Step 1
Number.ToString("d2")'I've also tried Number.ToString("D2") (Capitol D)
Number = UsersChosenHistory.Substring(Start, Finish) 'Grab an integer
Choices(Number) += "1" 'Store it in the corresponding array element
Start += 1
Next
End Sub
当使用 F11 键运行循环时,即使数据文件确实包含“0”,单个数字也不显示前导“0”,并且正如我上面提到的,数组显示“0”作为第一个频率网格中的数字。我真的对这个循环感到困惑,任何帮助将不胜感激。我只是在学习 VB.Net,这让我很困惑。提前致谢。
【问题讨论】:
-
数字/整数没有前导零。文件中的数据是文本。当您阅读文件时,您可以将 element(0) 留空,然后循环遍历其余部分。
Number.ToString("d2")没有做任何事情,因为没有什么“捕捉”结果,Choices(Number) += "1"正在尝试将数字添加到数字中。开启Option Strict -
.Net 数组从 0 开始。打开 Option Strict 并修复这些错误。
标签: arrays vb.net loops integer