整数の配列があります
int[] cells= new int[6]
cells[0] = 0
cells[1] = 0
cells[2] = 215
cells[3] = 230
cells[4] = 243
cells[5] = 252
この配列の他の番号をチェックして、それが属するインデックスに割り当てようとしています。例:番号243を使用した場合、番号243のセル4が必要でした。これは、以下のコードで完全に機能します。mynumberが220の場合、215に割り当てられます。ただし、問題は、番号が225の場合、230に割り当てられます。最も近いものを見つけるのも正しいです。しかし、230ではなく215(インデックス#2)に225を割り当てたいと思います。番号が230の場合、または230〜242の範囲にある場合にのみ割り当てる必要があります。それを取得するための最良の方法は何ですか。助けてください。
私のコードは:
def mynumber = 225
int distance = Math.abs(cells[0] - mynumber )
int idx = 0
for(int c = 1; c < cells.length; c++)
{
int cdistance = Math.abs(cells[c] - mynumber )
if(cdistance < distance)
{
idx = c
distance = cdistance
}
}
int choosennumber= cells[idx]
mynumber
> =配列の現在のインデックスの数値になりたい:
int distance = mynumber - cells[0];
int idx = 0;
for(int c = 1; c < cells.length; c++) {
if (mynumber >= cells[c]) {
int cdistance = mynumber - cells[c];
if (cdistance < distance) {
idx = c;
distance = cdistance;
}
}
}
int choosennumber = cells[idx];
これはを想定していmynumber >= cells[0]
ます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加