Я пытаюсь найти лучший способ сделать какой-то выбор стиля переключателя на двойнике, чтобы выяснить, в каком диапазоне он находится. Примерно так:
double a = 1.1;
switch(a)
{
case: (0.0, 1.6)
return 1;
case: (1.6, 2.337)
return 2;
case: (2.337, 3.2974)
return 3;
default:
return -1;
}
Очевидно, в этомНапример, одно значение в диапазоне должно быть не включительно, но вы меня поняли.Любые идеи?
Править, диапазоны не обязательно являются целочисленными.
РЕДАКТИРОВАТЬ 2: Я на самом деле имею дело с радианами и выясняю, в каком из 12 диапазонов находится точка.this:
double pi = Math.PI;
double[] zones = new double[] {
0, pi/6, pi/3, pi/2,
2*pi/3, 5*pi/6, pi, 7*pi/6,
4*pi/3, 3*pi/2, 5*pi/3, 11*pi/6
};
for (int i = 0; i < 11; i++)
{
if (radians > zones[i] && radians <= zones[i + 1])
{
return i + 1;
}
}
Я начал делать бинарный тип поиска if-else, но он собирался запутаться.