Как вывести случайные символы по их коду в Unicode

Пытаюсь вывести символы Unicode в диапазоне 9398, 10178.

import java.util.*;
public class Unicode {
    public static void main(String[] args) {
        Random rand_char = new Random();
        int number = 10178;
        int unicode = rand_char.nextInt(number) + 9398;
        char smile = (char)('\u' + r.nextInt(unicode));
        System.out.println(smile);

    }
}

Возникают проблемы с '\u' в создании переменной.Как можно решить это, чтобы в программе могли выводиться рандомные символы в диапазоне?


Ответы (1 шт):

Автор решения: insolor

Не нужно \u - просто приводите числовой код символа к char:

Random rand_char = new Random();
int number = 10178;
int unicode = rand_char.nextInt(number) + 9398;
char smile = (char)(unicode);
System.out.println(unicode);
System.out.println(smile);

Пример вывода:

12564
ㄔ

Проверяем: https://unicode-table.com/en/search/?q=12564

введите сюда описание изображения

→ Ссылка