2016-09-25 2 views
0

몇 년 동안 VB에서 아무 것도 쓰지 않았습니다. 나는 중급반을 듣고 있는데 문제가있다. 나는 텍스트 상자 (도시 국가 및 우편 번호)에서 사용자가 입력 한 데이터를 가져 와서 우편 번호로만 우편 번호를 사용하는 인보이스 프로그램을 작성 중입니다. 사용자 데이터를 저장하는 배열을 만들었지 만이를 반복하고 숫자 값을 다른 배열에만 쓰는 방법을 알 수 없습니다. 일단 완료되면 두 번째 배열을 반복하고 배열 내용을 문자열에 써서 송장 번호로 표시 할 수있게해야합니다. 어떤 도움을 크게 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

'n + = 1' 줄을 제거하십시오. 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()) 

가지 경우에 우편하면 코드가 예외를 던질 것보다 다음 4 개 개의 숫자를 포함 할 때 때문에, 우편 번호의 문자를 저장하는 사용 List(Of Char).

+0

Downvoter - 설명해주세요. 따라서 답변을 수정/개선 할 수 있습니다. – Fabio

+0

모든 도움과 빠른 답변을 보내 주셔서 감사합니다. 이것은 환상적으로 작동했습니다. – Orl213

-1

IsNumeric (num)은 항상 True를 반환합니다. 그것은이어야합니다

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

관련 문제