2

現在の問題を解決する方法を教えてください。これを実践する方法がわかりません。

forステートメントで1ずつ増加するカウンターがあります。次のことを行う必要があるifステートメントを追加したい:

Dim count as decimal = 1
For i As Integer = 1 To 400 - 1
   If count = 3 or count = 6 or count = 9 or count = 12 ..and on and on
       'All the numbers that mathes the count
   Else
       'All the numbers that does not match
   End if

   count += 1
Next

If count = 3 または count = 6 などを記述する方法について、より単純な方法が必要です。

4

4 に答える 4

2

i1)とcountwhich が常に同じ値であるように見えるのはなぜですか?

2)2つの可能な解決策:他のMod人が指摘したように、実際に3番目ごとの数値が必要であると仮定して、演算子のいずれか、または:

For i As Integer = 1 To 400 - 1
   Select Case i
       Case 3,6,9,12,15....
           'Do stuff here for matching
       Case Else
           'All the numbers that does not match
   End Select
Next
于 2013-09-06T06:26:57.917 に答える
2

カウントが休符なしで 3 で割り切れる必要がある場合 (そうであるように思われます)、次のMod演算子を使用できます。

演算子は 2 つのMod数値を除算し、残りを返します。たとえば、次のよう14 Mod 3になります2。したがって、実行する必要がある唯一のチェックは、次のcount Mod 3 = 0ような場合です。

Dim count as decimal = 1
For i As Integer = 1 To 400 - 1
   If count Mod 3 = 0 then
       'All the numbers that mathes the count
   Else
       'All the numbers that does not match
   End if

   count += 1
Next
于 2013-09-06T06:24:01.430 に答える
1

構文についてはわかりませんが、Mod演算子を使用する必要があります:

Dim count as decimal = 1
For i As Integer = 1 To 400 - 1
   If (count Mod 3) = 0
       'All the numbers that mathes the count
   Else
       'All the numbers that does not match
   End if

   count += 1
Next
于 2013-09-06T06:23:07.230 に答える
1

モジュラスはあなたの友達です。

number1 Mod number2


if count MOD 3 = 0

http://msdn.microsoft.com/en-us/library/se0w9esz(v=vs.90).aspx

于 2013-09-06T06:22:03.667 に答える