2012-04-22 24 views
8

Mam problem, który wydaje się łatwy do rozwiązania, jednak nie jestem pewien składni.Java - Jeśli instrukcja A jest równa B plus lub minus 2

Potrzebuję instrukcji if/else, ale nie jestem pewien, jak ustawić poprawnie warunki.

Bad Kod:

if (float_a = float_b or is within +-2 of it) { 
    do this 
} 
else { 
    do that 
} 

Co jest najprostszym sposobem osiągnięcia tego?

+0

Przyjrzyj się operatorom '<=' and '> ='. Oczywiście, w przypadku spławikowania, zaokrąglanie może być lub nie być tutaj problemem dla ciebie. – Thilo

Odpowiedz

15

Można użyć Math.abs:

if (Math.abs(float_a-float_b) <= 2) { ... } 

Oznacza to "jeśli bezwzględna różnica między A i B jest w ciągu 2 ...".

+1

To jest idealne, dziękuję! Kiedy skończy się czas, przekażę ci zaakceptowaną odpowiedź. Pozdrawiam – Numpty

8
if(Math.abs(float_a - float_b) <= 2) { 
    //do this 
} 
else { 
    //do that 
} 
Powiązane problemy