プログラムでユーザー入力が数値か非数値かを検証するために Integer.TryParse メソッドを使用しています。1) ユーザー入力が数値の場合、プログラムは次に進み、ユーザー入力が 0 から 9 の範囲であることを検証します。 2) ユーザーが数値以外の入力を入力した場合、プログラムは「無効な入力」というメッセージを表示します。ユーザーに最初からやり直すように依頼します。
以下は私のコーディングです: Sub Main()
Dim sevenNumbers As Integer()
sevenNumbers = New Integer(6) {}
Dim index As Integer
Dim number As Integer
Dim reEnter As Boolean = True
Console.WriteLine("Please enter 7 integers: ")
Console.WriteLine("<ATTENTION: FROM 0 TO 9 ONLY>")
Console.WriteLine()
While reEnter
For index = 0 To 6
Console.WriteLine("Please enter the integer no." & "{0}" & " : ", index + 1) 'Prompt user to enter 7 integers.
sevenNumbers(index) = Console.ReadLine() 'The 7 integers are stored in an array.
If Integer.TryParse(sevenNumbers(index), number) Then
While sevenNumbers(index) < 0 Or sevenNumbers(index) > 9
Console.WriteLine("<invalid input>")
Console.WriteLine()
Console.WriteLine("------------------------------------------")
Console.WriteLine("<Please re-enter the 7 integers>")
Console.WriteLine("------------------------------------------")
Console.WriteLine()
reEnter = True
Exit For
End While
Else
Console.WriteLine("<invalid input>")
Console.WriteLine()
Console.WriteLine("------------------------------------------")
Console.WriteLine("<Please re-enter the 7 integers>")
Console.WriteLine("------------------------------------------")
Console.WriteLine()
reEnter = True
Exit For
End If
reEnter = False
Next
End While
サブ終了
ただし、ユーザーが数値以外の入力を入力すると、プログラムは続行できず、強制的に終了するエラーが表示されます。
私はこれを試しました
Sub Main() Dim num As Integer
Console.Write("enter num:")
Dim input = Console.ReadLine
If Integer.TryParse(input, num) Then
Console.WriteLine("valid. num = " & num)
Else
Console.WriteLine("invalid")
End If
End Sub
それは機能しますが、コーディングのどの部分が間違っているのでしょうか??
助けてくれてありがとう!!