Самый простой способ - использовать String.valueOf(Math.abs((long)x)).charAt(0)
- это даст вам char
1 . Чтобы получить это как целочисленное значение, вы можете просто вычесть «0» (как в Unicode, «0» - «9» являются смежными).
Это несколько расточительно, конечно. Альтернативой было бы просто взять абсолютное значение, а затем сделать круговое деление на 10, пока число не окажется в диапазоне 0-9. Если это домашнее задание, это ответ, который я бы дал. Однако я не собираюсь предоставлять код для этого, потому что я думаю, что может быть домашней работой. Однако, если вы предоставите комментарии и отредактируете свой ответ, чтобы объяснить, как у вас идут дела и с какими проблемами вы столкнулись, мы можем помочь.
1 Стоит заметить, что абсолютное значение Integer.MIN_VALUE
не может быть представлено как int
- поэтому вы можете сначала преобразовать в long
, а затем использовать Math.abs
, , затем сделать арифметику. Вот почему там есть актерский состав.