Check if a number is positive or negative in Java (#12604)

* Check if a number is positive or negative in Java

* reformat single line if/else statements

* Check if a number is positive or negative in Java
This commit is contained in:
Kai Yuan 2022-08-21 04:46:14 +02:00 committed by GitHub
parent 3f1f6bd34b
commit 842a71ad92
2 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,38 @@
package com.baeldung.positivenegative;
public class PositiveOrNegative {
enum Result {
POSITIVE, NEGATIVE, ZERO
}
public static Result byOperator(Integer integer) {
if (integer > 0) {
return Result.POSITIVE;
} else if (integer < 0) {
return Result.NEGATIVE;
}
return Result.ZERO;
}
public static Result bySignum(Integer integer) {
int result = Integer.signum(integer);
if (result == 1) {
return Result.POSITIVE;
} else if (result == -1) {
return Result.NEGATIVE;
}
return Result.ZERO;
}
public static Result bySignum(Float floatNumber) {
float result = Math.signum(floatNumber);
if (result == 1.0f) {
return Result.POSITIVE;
} else if (result == -1.0f) {
return Result.NEGATIVE;
}
return Result.ZERO;
}
}

View File

@ -0,0 +1,29 @@
package com.baeldung.positivenegative;
import org.junit.jupiter.api.Test;
import static com.baeldung.positivenegative.PositiveOrNegative.Result.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
class PositiveOrNegativeUnitTest {
@Test
void givenIntegers_whenChkPositiveOrNegativeByOperator_thenReturnExpectedResult() {
assertEquals(POSITIVE, PositiveOrNegative.byOperator(42));
assertEquals(ZERO, PositiveOrNegative.byOperator(0));
assertEquals(NEGATIVE, PositiveOrNegative.byOperator(-700));
}
@Test
void givenIntegers_whenChkPositiveOrNegativeBySignum_thenReturnExpectedResult() {
assertEquals(POSITIVE, PositiveOrNegative.bySignum(42));
assertEquals(ZERO, PositiveOrNegative.bySignum(0));
assertEquals(NEGATIVE, PositiveOrNegative.bySignum(-700));
}
@Test
void givenFloats_whenChkPositiveOrNegativeBySignum_thenReturnExpectedResult() {
assertEquals(POSITIVE, PositiveOrNegative.bySignum(4.2f));
assertEquals(ZERO, PositiveOrNegative.bySignum(0f));
assertEquals(NEGATIVE, PositiveOrNegative.bySignum(-7.7f));
}
}