Jamie Wright
Jamie Wright

Reputation: 45

Visual basic For Next not repeating and not incrementing by 1

I am currently working on a homework assignment for Visual basic. The homework is to display the square value of only the odd numbers 1-9. I have to use a For Next to do so as specified by the assignment. I do not want the answer but a point to the right direction. Here is my code currently it only displays the square value of 9 but will not display the square value of the other odd numbers. I have done a couple tutorials but I can not figure out why it ill not continue the loop.

Public Class MainForm
    Private Sub exitButton_Click(sender As Object, e As EventArgs) Handles exitButton.Click
        Me.Close()
    End Sub

    Private Sub displayButton_Click(sender As Object, e As EventArgs) Handles displayButton.Click
        'Start/end values and retainer for the values
        Dim startVal As Integer
        Dim endVal As Integer
        Dim squareVal As Integer
        startVal = 1
        endVal = 9

        'For loop to separate the odd and even numbers to square the odd numbers. 
        For _val As Integer = startVal To endVal Step 1
            If _val Mod 2 <> 0 Then
                squareVal = _val * _val
                squaresLabel.Text = squareVal.ToString() & ControlChars.NewLine
                _val += 1
            Else
                squaresLabel.Text = _val.ToString() & ControlChars.NewLine
                _val += 1
            End If
        Next _val

    End Sub
End Class

Upvotes: 0

Views: 101

Answers (2)

Chao  LI
Chao LI

Reputation: 99

I think you are just repeating the calculation not actually output each value. So I suggest you define an array and store them inside of it. Also do trouble shooting for each value. Hope it helps.

Upvotes: 0

nicomp
nicomp

Reputation: 4647

You are overwriting the text stored in squaresLabel each pass through the loop. Look at the assignment statement:

 squaresLabel.Text = squareVal.ToString() & ControlChars.NewLine

Upvotes: 2

Related Questions