Это слишком долго для комментария, поэтому я добавил это в ответ, потому что я думаю, что это интересно и не обязательно хорошо известно.
Ради полноты следует отметить, что я могу ввести строку, которая приведет к сбою вашей программы. Вы назначаете int [], способный содержать 10 целых чисел, но вы должны знать, что среди символов Unicode гораздо больше, чем 10 цифр.
Итак, ваша программа выдаст ArrayIndexOutOfBoundsException
для большого количества цифр.
Вы можете напечатать все символы, которые являются цифрами в соответствии с Character.isDigit (...), используя следующую программу (Character.isDigit (...) принимает целое число, поэтому мы зацикливаем все положительные числа): 1008 *
for (int i = 0; i < Integer.MAX_VALUE; i++) {
if (Character.isDigit(i)) System.out.println(i + ": " + (char) i);
}
В моей версии Java это возвращает 268 таких цифр (фактическое количество цифр может варьироваться от одной версии Java к другой, в зависимости от фактической поддерживаемой версии Unicode).
Обратите внимание, что isDigit (...) принимает не символ, а целое число, представляющее кодовую точку Unicode.
48 is a digit: 0
49 is a digit: 1
50 is a digit: 2
51 is a digit: 3
52 is a digit: 4
53 is a digit: 5
54 is a digit: 6
55 is a digit: 7
56 is a digit: 8
57 is a digit: 9
1632 is a digit: ٠
1633 is a digit: ١
1634 is a digit: ٢
1635 is a digit: ٣
1636 is a digit: ٤
1637 is a digit: ٥
1638 is a digit: ٦
1639 is a digit: ٧
1640 is a digit: ٨
1641 is a digit: ٩
1776 is a digit: ۰
1777 is a digit: ۱
1778 is a digit: ۲
1779 is a digit: ۳
1780 is a digit: ۴
1781 is a digit: ۵
1782 is a digit: ۶
1783 is a digit: ۷
1784 is a digit: ۸
1785 is a digit: ۹
etc.