public class SupplementaryCharTest4 { public static void main(String[] args) { char[] ch = new char[]{(char)0xD801, (char)0xDC00, (char)0xD801, (char)0xDC01, (char)0xD801, (char)0xDC02, (char)0xD801, (char)0xDC03, (char)0xD801, (char)0xDC04, (char)0xD801, (char)0xDC05, (char)0xD801, (char)0xDC06, (char)0xD801, (char)0xDC07, (char)0xD801, (char)0xDC08, (char)0xD801, (char)0xDC09, (char)0xD801, (char)0xDC0A}; String str = new String(ch); int codePoint1 = str.codePointAt(0); System.out.format("CodePoint at 0 : %X%n", codePoint1); int codePoint2 = str.codePointAt(1); System.out.format("CodePoint at 1 : %X%n", codePoint2); int codePoint3 = str.codePointAt(2); System.out.format("CodePoint at 2 : %X%n", codePoint3); int codePoint4 = str.codePointAt(3); System.out.format("CodePoint at 3 : %X%n", codePoint4); int codePoint5 = str.codePointBefore(2); System.out.format("CodePoint before 2 : %X%n", codePoint5); int codePoint6 = str.codePointBefore(3); System.out.format("CodePoint before 3 : %X%n", codePoint6); int codePoint7 = str.codePointBefore(4); System.out.format("CodePoint before 4 : %X%n", codePoint7); int codePoint8 = str.codePointBefore(5); System.out.format("CodePoint before 5 : %X%n", codePoint8); } }