Jump to content



Photo

String Test in VB.NET


  • Please log in to reply
15 replies to this topic

#1 Jane Lewis

Jane Lewis

    Neowinian

  • Joined: 05-February 14

Posted 04 March 2014 - 18:31

I am suppose to create an application that displays the first letter, last letter, and middle letter of a word or phrase. This is my code so far:

'Jane Lewis

'String Test

'Displays the first letter, last letter, and middle letter of a word or phrase

Public Class frmStringTest

Private Sub btnDisplayData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayData.Click

Dim word As String

Dim firstLetter As String

Dim secondLetter As String

Dim lastLetter As String

Dim numLetters As Integer

 

word = Me.txtPhrase.Text

word = word.ToLower

numLetters = word.Length

End Sub

End Class

 

What else do I need?

We are working on Strings this week, and I am not understanding Strings very well, and they are confusing to me. I ask my teacher for an one on one explanation, but my Programming teacher didn't make it any clearer.If you give me the for this problem, can you explain why you do this and that, please. Thank you.

 




#2 Lord Method Man

Lord Method Man

    Neowinian Senior

  • Tech Issues Solved: 1
  • Joined: 18-September 12
  • OS: Windows 8.1 Pro
  • Phone: Nokia Lumia 1520

Posted 04 March 2014 - 18:39

http://msdn.microsof...#code-snippet-1

 

Take a look at the "Properties" section for something that might help. It sounds like you want the character at the first position in the String as well as the last position and somewhere halfway...



#3 adrynalyne

adrynalyne

    Neowinian Senior

  • Joined: 29-November 09

Posted 04 March 2014 - 18:50

I am suppose to create an application that displays the first letter, last letter, and middle letter of a word or phrase. This is my code so far:

'Jane Lewis

'String Test

'Displays the first letter, last letter, and middle letter of a word or phrase

Public Class frmStringTest

Private Sub btnDisplayData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayData.Click

Dim word As String

Dim firstLetter As String

Dim secondLetter As String

Dim lastLetter As String

Dim numLetters As Integer

 

word = Me.txtPhrase.Text

word = word.ToLower

numLetters = word.Length

End Sub

End Class

 

What else do I need?

We are working on Strings this week, and I am not understanding Strings very well, and they are confusing to me. I ask my teacher for an one on one explanation, but my Programming teacher didn't make it any clearer.If you give me the for this problem, can you explain why you do this and that, please. Thank you.

If you look at a string as a list of chars, you just need the first character which starts at 0 then the last, given to you by word.Length, and then the middle which would be word.Length divided by 2.  

 

http://msdn.microsof...(v=vs.110).aspx



#4 firey

firey

    F͎̗͉͎͈͑͡ȉ͎̣̐́ṙ͖̺͕͙̓̌è̤̞͉̟̲͇̍̍̾̓ͥͅy͓̍̎̌̏̒

  • Tech Issues Solved: 6
  • Joined: 30-October 05
  • Location: Ontario, Canada
  • OS: Windows 7
  • Phone: Android (4.1.2)

Posted 04 March 2014 - 18:56

I am suppose to create an application that displays the first letter, last letter, and middle letter of a word or phrase. This is my code so far:

'Jane Lewis

'String Test
'Displays the first letter, last letter, and middle letter of a word or phrase
Public Class frmStringTest
Private Sub btnDisplayData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayData.Click
Dim word As String
Dim firstLetter As String
Dim secondLetter As String
Dim lastLetter As String
Dim numLetters As Integer
 
word = Me.txtPhrase.Text
word = word.ToLower
numLetters = word.Length
End Sub
End Class

What else do I need?

We are working on Strings this week, and I am not understanding Strings very well, and they are confusing to me. I ask my teacher for an one on one explanation, but my Programming teacher didn't make it any clearer.If you give me the for this problem, can you explain why you do this and that, please. Thank you.

 

You should read up on strings.

Now there are several approaches to this.. I would recommend this way:

Public Class Form1

    Dim myString As String
    Dim stringLen As Integer
    Dim firstChar As String
    Dim lastChar As String
    Dim middleLetter As String
    Dim saveMYVars As Boolean
    Dim anothervar As Double
    Dim learntocode As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        myString = "Firey is the best coder ever"

        'step 1, get the string length
        Dim counter As Integer
        For counter = 0 To myString.Length
            stringLen = stringLen + 1
        Next counter

        'step 2, find the first letter
        firstChar = myString.Substring(0, 1)

        'step 3 last letter
        lastChar = myString.Substring(stringLen - 2, 1)

        'step 4, ensure we have the right letters
        firstChar = myString(0)
        lastChar = myString(stringLen - 2)

        'Step 5 get the middle letter.
        For counter = 1 To myString.Length / 2
            middleLetter = myString.Substring(counter - 1, 1)
        Next counter

        'Step 6, verify it's the middle letter
        middleLetter = myString(stringLen / 2)

        'Step 7, save the variables off so the computer doesn't forget
        saveMYVars = True 'this is critical in any VB Program

        'step 8, show it
        If (saveMYVars) Then
            MessageBox.Show("First Letter")
            MessageBox.Show(myString(0))
            MessageBox.Show("Middle Letter")
            MessageBox.Show(myString.Substring(counter - 1, 1))
            MessageBox.Show("Last Letter")
            MessageBox.Show(lastChar)
        End If
    End Sub
End Class

The code above is tested and working.



#5 OP Jane Lewis

Jane Lewis

    Neowinian

  • Joined: 05-February 14

Posted 04 March 2014 - 19:02

You should read up on strings.

Now there are several approaches to this.. I would recommend this way:

Public Class Form1

    Dim myString As String
    Dim stringLen As Integer
    Dim firstChar As String
    Dim lastChar As String
    Dim middleLetter As String
    Dim saveMYVars As Boolean
    Dim anothervar As Double
    Dim learntocode As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        myString = "Firey is the best coder ever"

        'step 1, get the string length
        Dim counter As Integer
        For counter = 0 To myString.Length
            stringLen = stringLen + 1
        Next counter

        'step 2, find the first letter
        firstChar = myString.Substring(0, 1)

        'step 3 last letter
        lastChar = myString.Substring(stringLen - 2, 1)

        'step 4, ensure we have the right letters
        firstChar = myString(0)
        lastChar = myString(stringLen - 2)

        'Step 5 get the middle letter.
        For counter = 1 To myString.Length / 2
            middleLetter = myString.Substring(counter - 1, 1)
        Next counter

        'Step 6, verify it's the middle letter
        middleLetter = myString(stringLen / 2)

        'Step 7, save the variables off so the computer doesn't forget
        saveMYVars = True 'this is critical in any VB Program

        'step 8, show it
        If (saveMYVars) Then
            MessageBox.Show("First Letter")
            MessageBox.Show(myString(0))
            MessageBox.Show("Middle Letter")
            MessageBox.Show(myString.Substring(counter - 1, 1))
            MessageBox.Show("Last Letter")
            MessageBox.Show(lastChar)
        End If
    End Sub
End Class

The code above is tested and working.

May I ask why you set counter = 0

And I am a visual learner I have to see it done, and then I will get it.



#6 firey

firey

    F͎̗͉͎͈͑͡ȉ͎̣̐́ṙ͖̺͕͙̓̌è̤̞͉̟̲͇̍̍̾̓ͥͅy͓̍̎̌̏̒

  • Tech Issues Solved: 6
  • Joined: 30-October 05
  • Location: Ontario, Canada
  • OS: Windows 7
  • Phone: Android (4.1.2)

Posted 04 March 2014 - 19:08

To be completely honest with you, my code is crazy convoluted (to get you thinking about what is happening).  You can do your entire project in 4 lines with only 1 variable. 

Think of strings as an array of chars.  You access arrays using indexes.

Index 0 = first
Index (length - 1) = last
Index (length / 2 - 1) = middle.

Imagine your string is an array (I show examples of it in my code).  Use what I wrote above (substituting length for that actual string length) to achieve what you want.

If I was to write the code in C# it would be something simple ie)

string myString = "myString";
MessageBox.Show("First Letter: " + myString[0].toString() + " Middle Letter: " + myString[(myString.Length / 2) - 1].ToString() + " Last Letter: " + myString[myString.Length - 1],"Parts of a string"); 



#7 +snaphat (Myles Landwehr)

snaphat (Myles Landwehr)

    Electrical & Computer Engineer

  • Tech Issues Solved: 29
  • Joined: 23-August 05
  • OS: Win/Lin/Bsd/Osx
  • Phone: dumb phone

Posted 04 March 2014 - 19:11

You guy shouldn't be giving outright solutions. This is a homework assignment...



#8 firey

firey

    F͎̗͉͎͈͑͡ȉ͎̣̐́ṙ͖̺͕͙̓̌è̤̞͉̟̲͇̍̍̾̓ͥͅy͓̍̎̌̏̒

  • Tech Issues Solved: 6
  • Joined: 30-October 05
  • Location: Ontario, Canada
  • OS: Windows 7
  • Phone: Android (4.1.2)

Posted 04 March 2014 - 19:15

You guy shouldn't be giving outright solutions. This is a homework assignment...

I agree, hence my code is so convoluted no teacher would ever accept it.  It is also 4 different ways of solving it with random ###### that does nothing.



#9 OP Jane Lewis

Jane Lewis

    Neowinian

  • Joined: 05-February 14

Posted 04 March 2014 - 19:47

To be completely honest with you, my code is crazy convoluted (to get you thinking about what is happening).  You can do your entire project in 4 lines with only 1 variable. 

Think of strings as an array of chars.  You access arrays using indexes.

Index 0 = first
Index (length - 1) = last
Index (length / 2 - 1) = middle.

Imagine your string is an array (I show examples of it in my code).  Use what I wrote above (substituting length for that actual string length) to achieve what you want.

If I was to write the code in C# it would be something simple ie)

string myString = "myString";
MessageBox.Show("First Letter: " + myString[0].toString() + " Middle Letter: " + myString[(myString.Length / 2) - 1].ToString() + " Last Letter: " + myString[myString.Length - 1],"Parts of a string"); 

I think I got a better understanding of Strings now, thank you. You should be a teacher yourself.



#10 OP Jane Lewis

Jane Lewis

    Neowinian

  • Joined: 05-February 14

Posted 04 March 2014 - 20:08

I agree, hence my code is so convoluted no teacher would ever accept it.  It is also 4 different ways of solving it with random #### that does nothing.

 

To be completely honest with you, my code is crazy convoluted (to get you thinking about what is happening).  You can do your entire project in 4 lines with only 1 variable. 

Think of strings as an array of chars.  You access arrays using indexes.

Index 0 = first
Index (length - 1) = last
Index (length / 2 - 1) = middle.

Imagine your string is an array (I show examples of it in my code).  Use what I wrote above (substituting length for that actual string length) to achieve what you want.

If I was to write the code in C# it would be something simple ie)

string myString = "myString";
MessageBox.Show("First Letter: " + myString[0].toString() + " Middle Letter: " + myString[(myString.Length / 2) - 1].ToString() + " Last Letter: " + myString[myString.Length - 1],"Parts of a string"); 

This is the final code I have:

Public Class frmStringTest

Private Sub btnDisplayData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayData.Click

Dim myString As String = Me.txtPhrase.Text 'declares the phrase enter by the user as a string

Dim stringLen As Integer 'declares as a string

Dim firstletter As String 'declares as a string

Dim lastletter As String 'declares as a string

Dim middleLetter As String 'declares as a string

Dim counter As Integer 'decalres counter as an Integer

For counter = 0 To myString.Length 'The counter starts at O to how many characters/letters are in the word/phrase

stringLen = stringLen + 1 'Goes up by 1

Next counter

'finding the first letter

firstletter = myString.Substring(0, 1)

Me.lblFirstAnswer.Text = firstletter 'Letter/character for the first letter will display here

'Finding the last letter

lastletter = myString.Substring(stringLen - 2, 1)

Me.lblLastAnswer.Text = lastletter 'Letter/character for the last letter will display here

'Ensures that I have the right letters

firstletter = myString(0)

lastletter = myString(stringLen - 2)

'Finding the middle letter.

For counter = 1 To myString.Length / 2

middleLetter = myString.Substring(counter - 1, 1)

Next counter

'Step 6, verify it's the middle letter

middleLetter = myString(stringLen / 2 - 1)

Me.lblMiddleAnswer.Text = middleLetter

End Sub

End Class



#11 firey

firey

    F͎̗͉͎͈͑͡ȉ͎̣̐́ṙ͖̺͕͙̓̌è̤̞͉̟̲͇̍̍̾̓ͥͅy͓̍̎̌̏̒

  • Tech Issues Solved: 6
  • Joined: 30-October 05
  • Location: Ontario, Canada
  • OS: Windows 7
  • Phone: Android (4.1.2)

Posted 04 March 2014 - 20:11

Looks good, but you still have some useless pointless code that doesn't affect operation at all (stuff I wrote to try and discourage a copy and paste).  Try removing lines and see if it affects anything.



#12 +riahc3

riahc3

    Neowin's most indecisive member

  • Tech Issues Solved: 11
  • Joined: 09-April 03
  • Location: Spain
  • OS: Windows 7
  • Phone: HTC Desire Z

Posted 11 March 2014 - 16:20

Hello,

May I ask why you set counter = 0
And I am a visual learner I have to see it done, and then I will get it.

We already gave you that once. You should know some basic VB .NET functions a month later.

You guy shouldn't be giving outright solutions. This is a homework assignment...

Once, IMO, OK. Twice, no. But then I guess firey (nothing against you firey :) ) is allowed to give 90% of the solution instead of 100% :huh:


Anyways, looking at this: http://msdn.microsof...(v=vs.110).aspx should be MORE than enough to help you out.

#13 firey

firey

    F͎̗͉͎͈͑͡ȉ͎̣̐́ṙ͖̺͕͙̓̌è̤̞͉̟̲͇̍̍̾̓ͥͅy͓̍̎̌̏̒

  • Tech Issues Solved: 6
  • Joined: 30-October 05
  • Location: Ontario, Canada
  • OS: Windows 7
  • Phone: Android (4.1.2)

Posted 11 March 2014 - 16:25

Hello,
We already gave you that once. You should know some basic VB .NET functions a month later.

Once, IMO, OK. Twice, no. But then I guess firey (nothing against you firey :) ) is allowed to give 90% of the solution instead of 100% :huh:


Anyways, looking at this: http://msdn.microsof...(v=vs.110).aspx should be MORE than enough to help you out.

I didn't realize this was the second post.  However yea I am not going to give a 100% answer.  People do need to learn for themselves and I agree fully.   At the same time though, simply redirecting people to another resource doesn't do much especially when you don't know wtf you are looking at.

So I figured I'd give some ridiculous answer, and she could go through with a deubgger and test each line and see what happens.



#14 +riahc3

riahc3

    Neowin's most indecisive member

  • Tech Issues Solved: 11
  • Joined: 09-April 03
  • Location: Spain
  • OS: Windows 7
  • Phone: HTC Desire Z

Posted 11 March 2014 - 16:29

Hello,

At the same time though, simply redirecting people to another resource doesn't do much especially when you don't know wtf you are looking at.

A month later the person should already know a basic function in VB .NET

I understand at first functions can surprise you but a month later......Basic things like Substring are not really hard.

http://lmgtfy.com/?q...tion in vb .net

Just looking at Google pretty much lays it down.

#15 firey

firey

    F͎̗͉͎͈͑͡ȉ͎̣̐́ṙ͖̺͕͙̓̌è̤̞͉̟̲͇̍̍̾̓ͥͅy͓̍̎̌̏̒

  • Tech Issues Solved: 6
  • Joined: 30-October 05
  • Location: Ontario, Canada
  • OS: Windows 7
  • Phone: Android (4.1.2)

Posted 11 March 2014 - 16:32

Hello,
A month later the person should already know a basic function in VB .NET

I understand at first functions can surprise you but a month later......Basic things like Substring are not really hard.

http://lmgtfy.com/?q...tion in vb .net

Just looking at Google pretty much lays it down.

As I say, I didn't realize that this was already asked a month ago by the same person.  You are right, basic things aren't hard and for the most part are easy to grasp.  





Click here to login or here to register to remove this ad, it's free!