前提・実現したいこと
プログラミング初心者です。
現在VB.NETで簡単なシステムを開発しています。
if文で整数型の配列(0~3の数字がランダムで入る)を宣言し、その配列の指定した要素数に格納されている数字が全て等しいときにある処理を行いたいです。
発生している問題・エラーメッセージ
・判定する数字のどれかに0が格納されている場合、等しくなくてもTrueの判定になってしまいます。
・配列内の数字が全て等しいにも関わらず、Falseの判定になってしまいます。
このようになってしまう原因と、これと同じ処理を行う場合にもっと良い書き方があれば教えていただきたいです。
該当のソースコード
VB.NET
1 '判定したい配列 2 Dim arr(0 To 4) As Integer 3 4 '指定した数 5 Dim num As Integer = 4 6 7 Dim equ As Boolean = False 8 9 '配列に数字を格納(デバッグのため手動で格納) 10 arr(0) = 3 11 arr(1) = 1 12 arr(2) = 0 13 arr(3) = 1 14 arr(4) = 2 15 16 Select Case num 17 18 Case 2 19 20 If arr(0) = arr(1) Then 21 22 equ = True 23 24 End If 25 26 Case 3 27 28 If arr(0) = arr(1) = arr(2) Then 29 30 equ = True 31 32 End If 33 34 Case 4 35 36 If arr(0) = arr(1) = arr(2) = arr(3) Then 37 38 equ = True 39 40 End If 41 42 Case 5 43 44 If arr(0) = arr(1) = arr(2) = arr(3) = arr(4) Then 45 46 equ = True 47 48 End If 49 50 End Select 51 52 53 '指定した要素数に格納されている数字が全て等しい時 54 If equ = True Then 55 56 '指定した要素の数字が全て等しかったときに行いたい処理 57 58 End If
試したこと
配列内の数字をいろいろと変えてみましたが解決しませんでした。
補足情報(FW/ツールのバージョンなど)
開発環境
VisualStudio 2017
.NET FrameWork 4.6.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/23 08:54