Hex { public static String s2(int v) { char[] result = new char[5]; if (v < 0) { result[0] = '-'; v = -v; } else { result[0] = '+'; } for (int i = 0; i < 4; i++) { result[4 - i] = Character.forDigit(v & 0x0f, 16); v >>= 4; } return new String(result); } private  Hex(); static String u8(long v); static String u4(int v); static String u3(int v); static String u2(int v); static String u2or4(int v); static String u1(int v); static String uNibble(int v); static String s8(long v); static String s4(int v); static String s2(int v); static String s1(int v); static String dump(byte[] arr, int offset, int length,
                              int outOffset, int bpl, int addressLength);  }
@Test public void testS2() { Assert.assertEquals("+0000", Hex.s2(0)); Assert.assertEquals("-0000", Hex.s2(-2147483648)); Assert.assertEquals("+3039", Hex.s2(12345)); Assert.assertEquals("+02d2", Hex.s2(1234567890)); }