Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chocksaway/01f97520477a110bdd61337451621e48 to your computer and use it in GitHub Desktop.
Save chocksaway/01f97520477a110bdd61337451621e48 to your computer and use it in GitHub Desktop.
Reverse int
package reverse;
import org.apache.log4j.Logger;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsEqual.equalTo;
/**
* Author milesd on 27/05/2021.
*/
public class ReverseInt {
@Test
public void testReverseInt() {
assertThat(Reverse.reverseInt(123), is(equalTo(321)));
assertThat(Reverse.reverseInt(0), is(equalTo(0)));
assertThat(Reverse.reverseInt(-123), is(equalTo(-321)));
}
}
class Reverse {
final static Logger logger = Logger.getLogger(Reverse.class);
public static int reverseInt(int number) {
boolean negative = false;
if (number >= 0 && number < 10) {
return number;
} else if (number < 0) {
negative = true;
number = Math.abs(number);
}
int divParam = 1;
final StringBuilder stringBuffer = new StringBuilder();
while ((number / divParam) % 10 > 0) {
int result = (number / divParam) % 10;
logger.info(result);
divParam = divParam * 10;
stringBuffer.append(result);
}
if (negative) {
return -Integer.parseInt(stringBuffer.toString());
}
return Integer.parseInt(stringBuffer.toString());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment