2017-05-15 13 views
0

私はVBでコーディングするのがかなり新しいですし、whileループを使って変数 'binary'の数字の文字列を反転しようとしていますコード)が、プログラムが実行されるときにSystem.IndexOutOfRangeExceptionエラーが発生します。これを修正するために私は何を変える必要がありますか? おかげwhileループ(VB)を使用して数字の文字列を逆にする

Module Module1 


    Sub Main() 
     Dim denary As Integer 
     Dim binary As String = " " 
     Dim x As Integer 
     Dim y As Integer = 0 
     Console.WriteLine("What is the denary number?") 'Asks the user what number denary number they want converted 
     denary = Console.Read() 

     While denary > 0 'Calculates the binary number, but reversed 
      If denary Mod 2 = 0 Then 
       binary = binary + "0" 
       denary = denary/2 
      Else 
       binary = binary + "1" 
       denary = denary/2 
      End If 
     End While 

     Console.WriteLine("The binary equivalent is:" & binary) 'Prints the binary number in reverse 
     Console.ReadLine() 
     x = Len(binary) 
     While x > 0 
      Console.WriteLine(binary(x)) 'Print the correct binary equivalent (Not working) 
      Console.ReadLine() 
      x = x - 1 
     End While 


    End Sub 

End Module 
+2

これは、デバッグについて傾くための大きな問題である:ブレークポイント、ウォッチ変数[お問合せ]を読んで[ツアー] – Plutonix

答えて

1

配列のインデックスは0から始まるので、最後の1は常に配列の長さより1小さい:

x = Len(binary) - 1 
While x >= 0 
    '... 
関連する問題