2016-10-29 8 views
0

私は現在、ビジュアルベーシックの宿題に取り組んでいます。宿題は、奇数1-9の二乗値だけを表示することです。私はFor Nextを使って、割り当てによって指定されたようにする必要があります。私は答えはしたくないが、正しい方向への指し示しをする。ここで私のコードは9の二乗値を表示するだけですが、他の奇数の二乗値は表示しません。私はいくつかのチュートリアルを行ってきましたが、なぜループを続行しないのか分かりません。ビジュアルベーシック次回は繰り返さず、1で増分しない

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 
+0

あなたの質問は間違った言語でタグ付けされています –

答えて

2

squaresLabelに格納されているテキストを上書きして、ループを通過させます。代入文を見てください:

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

あなたは正しいです、私の問題はその行でした。 squaresLabel.Text&= squareVal.ToString&ControlChars.NewLine上の行はうまくいきました。解決につながってくれたことに感謝します。 –

0

私はあなたが実際に各値を出力しない計算を繰り返すと思います。だから私はあなたが配列を定義し、内部にそれらを格納することをお勧めします。また、それぞれの価値についてトラブルシューティングを行います。それが役に立てば幸い。

関連する問題