1

char 配列の空の配列要素を埋めるのに問題があります。

myInputに入力したすべての文字を配列に格納するinputArrayがあります。次に、 inputArrayから文字を取得するcharArrayを作成し、配列に何も見つからない場合は、-1 を追加してcharArrayの空の場所を通知します。私はそれをすることができませんでした。「こんにちは」と入力すると、出力が返されます

H
E
L
L
O
Space
Space
Space
Space
And So On, until I reach the end of that array.
*"Space" is for visual aid of output

道に迷いました。「-1」を除外できるようにしたいのですが、単語を構成するために必要なアンダースコアの数をカウントするよりも、「Hello」のように _ _ _ _ (「-1」または中には何もありません。)

 Module GuessingGame
        Sub Main()
            Dim myInput As String.
            Dim inputArray(11) As Char
            Dim charArray(11) As Char
            Dim myLetter As String
            Dim attempts As Integer = 0
            Dim incorrectAttempts As Integer = 0
            Dim remainingAttempts As Integer = 0

            myInput = InputBox$("Please enter a word or phrase: ")
            inputArray = myInput.ToCharArray()

            While inputArray.Length > 12 
                System.Console.WriteLine("Error: The word or phrase needs to be 12 characters or less")
                myInput = InputBox$("Please enter a word or phrase: ")
                inputArray = myInput.ToCharArray()
            End While

            For i = 0 to inputArray.length - 1
                If IsNothing(inputArray(i)) Then
                    charArray(i) = "-1"
                Else
                    charArray(i) = inputArray(i)
                End If
            Next

            Console.Clear()

            For Each element In charArray
                System.Console.WriteLine(element)
            Next element

            For i = 0 to inputArray.length - 1
                remainingAttempts = remainingAttempts + 1
            Next

            remainingAttempts = remainingAttempts - 1

            System.Console.WriteLine("Guessing Game Display")
            System.Console.WriteLine("---------------------")
            System.Console.WriteLine("Number of Remaining Attempts: " & remainingAttempts)
            System.Console.WriteLine("Number of Incorrect Attempts: " & incorrectAttempts)
            System.Console.WriteLine("Number of Attempts: " & attempts)
            System.Console.WriteLine("Guess a Character? ")
            myLetter = InputBox$("Please enter a character: ")
        End Sub
    End Module
4

3 に答える 3

0

私は 100% ではありませんが、IsNothing が値が存在するかどうかを確認していると確信しています..配列を自動的に 11 のサイズに割り当てているため、HELLO が設定された後に何かが設定されますが、どちらか " " または " " だけの空白。だからこれをやってみる

If inputArray(i) == "" Then
                charArray(i) = "-1"
            Else
                charArray(i) = inputArray(i)
            End If
于 2013-10-27T05:47:03.367 に答える