私はJavaで働いていて、仲間の大学が書いた奇妙なコードブロックに出くわしました。モジュラス演算子が機能すると確信していますが、何らかの理由で、演算子から期待した結果が得られません。
現在、コードは次のように記述されています。
long divisionID = myMaxId % 40;
if (divisionID == 0) {
divisionID = 1;
}
long empiresubID = 1;
if (myMaxId >= 1600) {
empiresubID = 2;
}
if (myMaxId >= (1600 * 2)) {
empiresubID = 3;
}
if (myMaxId >= (1600 * 3)) {
empiresubID = 4;
}
if (myMaxId >= (1600 * 4)) {
empiresubID = 5;
}
if (myMaxId >= (1600 * 5)) {
empiresubID = 6;
}
他のいくつかの場所でも同様で、これは 1600*40 まで上がります。
myMaxId %1600 にモジュラス演算子を使用することを考えましたが、それは間違った結果をもたらしました。
最終目標は 40 の部門があることです。まず、ユーザー登録時に myMaxID % 40 を使用して、すべての部門のサブ部門 1 を埋めます。
それが完了すると、サブディビジョンは 2 に反転し、すべてのディビジョンのサブディビジョン 2 を埋めます。
現在プログラムされている方法は効率的ではないと思います。これを行うには他の方法があるはずです。
これに関する考えや助けは素晴らしいでしょう。