![]() |
|
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 |
|
Newbie
Join Date: Mar 2007
Posts: 1
Rep Power: 0
![]() |
VB Phone Number to Name...
I'm doing a problem out of a book I'm self-teaching with, and this particular problem calls for converting a 7 digit phone number into the different combinations of words that can be made from 3 characters corresponding to each of the numbers from 2-9. The code I have so far for this is:
Public Class Form1 Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click Dim phoneNumber As String = txtNumber.Text Dim charNumber2() As Char = {"A", "B", "C"} Dim charNumber3() As Char = {"D", "E", "F"} Dim charNumber4() As Char = {"G", "H", "I"} Dim charNumber5() As Char = {"J", "K", "L"} Dim charNumber6() As Char = {"M", "N", "O"} Dim charNumber7() As Char = {"P", "R", "S"} Dim charNumber8() As Char = {"T", "U", "V"} Dim charNumber9() As Char = {"W", "X", "Y"} Dim numberArray(7) As Char For i As Integer = 0 To 6 numberArray(i) = phoneNumber.Substring(i) Next Dim letters1(3) As Char Dim letters2(3) As Char Dim letters3(3) As Char Dim letters4(3) As Char Dim letters5(3) As Char Dim letters6(3) As Char Dim letters7(3) As Char Select Case numberArray(1) Case Is = "2" For k As Integer = 0 To 2 letters1(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters1(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters1(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters1(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters1(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters1(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters1(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters1(k) = charNumber9(k) Next End Select Select Case numberArray(2) Case Is = "2" For k As Integer = 0 To 2 letters2(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters2(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters2(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters2(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters2(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters2(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters2(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters2(k) = charNumber9(k) Next End Select Select Case numberArray(3) Case Is = "2" For k As Integer = 0 To 2 letters3(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters3(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters3(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters3(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters3(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters3(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters3(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters3(k) = charNumber9(k) Next End Select Select Case numberArray(4) Case Is = "2" For k As Integer = 0 To 2 letters4(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters4(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters4(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters4(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters4(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters4(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters4(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters4(k) = charNumber9(k) Next End Select Select Case numberArray(5) Case Is = "2" For k As Integer = 0 To 2 letters5(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters5(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters5(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters5(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters5(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters5(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters5(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters5(k) = charNumber9(k) Next End Select Select Case numberArray(6) Case Is = "2" For k As Integer = 0 To 2 letters6(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters6(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters6(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters6(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters6(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters6(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters6(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters6(k) = charNumber9(k) Next End Select Select Case numberArray(7) Case Is = "2" For k As Integer = 0 To 2 letters7(k) = charNumber2(k) Next Case Is = "3" For k As Integer = 0 To 2 letters7(k) = charNumber3(k) Next Case Is = "4" For k As Integer = 0 To 2 letters7(k) = charNumber4(k) Next Case Is = "5" For k As Integer = 0 To 2 letters7(k) = charNumber5(k) Next Case Is = "6" For k As Integer = 0 To 2 letters7(k) = charNumber6(k) Next Case Is = "7" For k As Integer = 0 To 2 letters7(k) = charNumber7(k) Next Case Is = "8" For k As Integer = 0 To 2 letters7(k) = charNumber8(k) Next Case Is = "9" For k As Integer = 0 To 2 letters7(k) = charNumber9(k) Next End Select For a As Integer = 0 To 2 For b As Integer = 0 To 2 For c As Integer = 0 To 2 For d As Integer = 0 To 2 For z As Integer = 0 To 2 For f As Integer = 0 To 2 For g As Integer = 0 To 2 txtNames.Text += letters1(a) + letters2(b) + letters3(c) + letters4(d) + letters5(z) + letters6(f) + letters7(g) txtNames.Text &= vbTab Next Next Next Next Next Next Next End Sub End Class I know that the case structures could have been condensed into one, but I was trying to minimize the memory usage and processing time. My problem is this: Instead of outputing - abcdefg...abcdefh...abcdefi - it will output - abcdefg...abcdefg...abcdefg -, repeating the same combination three times before moving on to the next combination. Anyone know why? P.S.-- I know this code may be terribly written, so any suggestions for improving the code for better memory usage, etc. would be appreciated. |
|
|
|
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| c-unix-childprocesses-random number | programmingnoob | C | 7 | Feb 6th, 2007 8:39 PM |
| Jython | Jessehk | Coder's Corner Lounge | 2 | Feb 5th, 2006 4:35 AM |
| [tutorial] Python for programming beginners | coldDeath | Python | 30 | Dec 14th, 2005 11:35 AM |
| FiveDigit + RandomeNumber Game. | TecBrain | Java | 0 | Nov 18th, 2005 2:53 PM |
| Number Systems... | Ade | Coder's Corner Lounge | 7 | Jan 19th, 2005 5:32 AM |