回答編集履歴

1

バグの報告

2021/09/24 22:54

投稿

xebme
xebme

スコア1090

test CHANGED
@@ -121,3 +121,47 @@
121
121
  }
122
122
 
123
123
  ```
124
+
125
+
126
+
127
+ ----
128
+
129
+ **コードの補足**
130
+
131
+
132
+
133
+ バグを見つけました。計算によって条件を求める場合はオーバーフローを考慮してください。
134
+
135
+
136
+
137
+ ```Java
138
+
139
+ static final int LOWER_BOUND = Integer.MIN_VALUE;
140
+
141
+ static final int UPPER_BOUND = Integer.MAX_VALUE;
142
+
143
+
144
+
145
+ test(x -> (x - 10) * Math.signum(x) < 0);
146
+
147
+ ```
148
+
149
+
150
+
151
+ 結果は以下のようになります。
152
+
153
+
154
+
155
+ ```bash
156
+
157
+ -2147483648,-2147483647,-2147483646,-2147483645,-2147483644,-2147483643,-2147483642,-2147483641,-2147483640,-2147483639,1,2,3,4,5,6,7,8,9
158
+
159
+ ```
160
+
161
+
162
+
163
+ **Java 17**
164
+
165
+
166
+
167
+ コードはJava 17(16)で実行しましたが、Java 12以降で動作すると思います。