2016-09-25 6 views
0

私は何年にもVBで何も書いていません。私は中級クラスを受講しており、問題にぶつかっています。私は、テキストボックス(市の州と郵便番号)からユーザーが入力したデータを取り込み、請求書番号としてzipのみを使用する請求書プログラムに取り組んでいます。私はユーザーデータを格納する配列を作成しましたが、それを反復処理する方法を理解することはできず、数値を別の配列に書き込むだけです。これが完了したら、2番目の配列を繰り返し処理し、配列の内容を文字列に書き込んで、請求書番号として表示する必要があります。任意の助けを大幅charのアレイとしてある配列から別の配列に数値だけをコピーする方法

'the array that holds the user city state and zip 

Dim UserZip As String = txtCItyStateZip.Text 
Dim UserArray() As Char = UserZip.ToCharArray 
Dim ZipArray(4) As Integer 

For num As Integer = 0 To UserArray.Length - 1 
    If IsNumeric(num) Then 
     ZipArray(num) 
     num += 1 
    End If 
Next` 
+0

が削除されます。 'Forループが自動的に値を増やす – Fabio

+1

[Option Strict On](https://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx)を使用すると、コードにいくつかの問題点が指摘されているかもしれません。修正。たとえば、 'ZipArray(num)'という行は意味をなさない。 –

答えて

0

保存の郵便番号を認識し、パラメータとしてchar配列を受け取り型stringのコンストラクタを使用することになります。郵便番号の文字を保存するための

Dim UserZip As String = txtCItyStateZip.Text 
Dim UserArray() As Char = UserZip.ToCharArray 
Dim ZipChars As New List(Of Char)() 

For num As Integer = 0 To UserArray.Length - 1 
    Dim character As Char = UserArray(num) 
    If IsNumeric(character) Then 
     ZipArray.Add(character) 
    End If 
Next 

Dim ZipCode As String = New String(ZipChars.ToArray()) 

使用List(Of Char)、ジッパーはもっとして4つの数字、あなたのコードが含まれます場合に例外がスローされますので。

+0

Downvoter - 説明してください。私は答えを修正/改良することができます – Fabio

+0

すべての助けと迅速な応答ありがとう。これはすごくうまくいった。 – Orl213

-1

IsNumeric(num)は常にTrueを返します。 `n + = 1`行を削除すると、

For num As Integer = 0 To UserArray.Length - 1 
    If IsNumeric(UserArray(num)) Then 
     ZipArray.Add(UserArray(num)) 
    End If 
Next 
+0

'ZipArray'は配列型で、' Add'メソッドはありません – Fabio

関連する問題