2011-10-28 55 views
1

我想在VB 2008中編寫連續數字的代碼,如果它們沒有連續寫入串行。VB 2008中的連續數字

例如:如果我有整數= 1,2,3,4,10,11的列表中,15

我想這種語言被傳遞

1〜4,圖10, 11和15

請幫幫我!

謝謝

+1

功課我認爲? –

+0

沒有它沒有功課..我需要做我的工作..需要用這樣的語言創建word文檔 – Angel

回答

0

本質上,你需要遍歷它們並根據以前的值對輸出應用一組規則。同樣從你的例子輸出你將需要測試,看看你是否已經到達數組的末尾。
這裏是做的相當冗長的方式(vb.net是不是一個語言,我通常使用,所以請原諒任何錯誤):

Public Shared Function TestMethod() As String 
     Dim _integers() As Integer = {1, 2, 3, 4, 10, 11, 15} 
     Dim _temp As Integer = _integers(0) 
     Dim _result As String = _temp.ToString() 
     For i As Integer = 1 To _integers.Length - 1 
      If (i + 1) = _integers.Length Then 
       _result += " and " + _integers(i).ToString() 
      ElseIf (_integers(i) - _temp) = 1 Then 
       _result += ", " + _integers(i).ToString() 
      Else 
       _result += " through " + _integers(i).ToString() 
      End If 
      _temp = _integers(i) 
     Next 
     Return _result 
End Function 
+0

謝謝,你的解決方案適用於我列出的示例,但如果我增加整數的長度,我得到錯誤的輸出。 – Angel