2017-01-29 35 views
0
Public Class Form1 
    Private Sub btnMono_Click(sender As Object, e As EventArgs) Handles btnMono.Click 
     Dim full As String = Me.txtNamw.Text 
     Dim Enter As Integer 
     Dim LastEnter As Integer 

     Dim firstI As String 
     Dim secondI As String 
     Dim thirdI As String 

     Enter = full.IndexOf("") 'Finds the first space 
     LastEnter = full.LastIndexOf("") 'Finds the last space 

     Dim secondhalf As String = full.Substring(Enter, LastEnter) 
     Dim thirdhalf As String = full.Substring(LastEnter, full.Length) 

     firstI = full.Chars(0) 
     secondI = secondhalf.Chars(0) 
     thirdI = thirdhalf.Chars(0) 

     Me.lblAnswer.Text = String.Concat(firstI, secondI, thirdI) 
    End Sub 
End Class 

学校用のプログラムを作成する必要があります。そのため、3つの名前のすべての頭文字が入力されたときに、最初の名前、2番目の名前、中間の名前が入力されます。私はなぜこれがすべてATで働いていないのか不明です。私はそれぞれの名前を分離しようとしているし、最初のintialを得るが、それは動作していません。私はVB.NETを初めて使用しました。 @Plutonixが言ったようにサブストリングが正しい文字を取得していません

おかげ

+0

あなたは何をしますか... ... IndexOf( "") 'は何をしますか?ブレークポイントを設定してコードをデバッグする - コードの実行方法について学び、プログラミングの重要な部分です。 – Plutonix

+0

ようこそスタックオーバーフロー!デバッガの使い方を学ぶ必要があるようです。 [補完的なデバッグ手法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)にご協力ください。その後も問題が残っている場合は、もう少し詳しくお聞かせください。 –

+0

@Plutonix IndexOf( "")はスペースの位置を見つけるはずです。これは文字列を区切るのに役立ちます。 – Adam

答えて

0

、それは.Split()メソッドを使用して容易です。

Dim fName, mName, lName As Char 
    Dim names() As String = s.Split() 
    fName = names(0).Chars(0) 

    mName = names(1).Chars(0) 

    lName = names(2).Chars(0) 
    Console.WriteLine(fName & " " & mName & " " & lName) 
関連する問題