Как разделить число в цифры в java

286
03 марта 2019, 04:20

Сам вопрос: к примеру если ввести число 1276 То должно вывести число 1, 2, 7, 6. , и вводное число должно быть любых размеров.Как это сделать?

Answer 1

Один из вариантов:

  • Привести число к строке: String.valueOf(<...>)
  • Строку разбить посимвольно в массив: .split("")
  • Объединить массив в строку с нужным разделителем (", "): String.join(", ", <...>)

Код:

int a = 1276;
String text = String.join(", ", String.valueOf(a).split(""));
System.out.println(text);  // "1, 2, 7, 6"
Answer 2

Один из вариантов:

Arrays.stream(String.valueOf(1276).split("")).reduce((x,y) -> x+','+y).get()
Answer 3

Без стримов выглядит так:

public static void main(String[] args) {
   long a = 124566;
   while (a > 0) {
      long l = a % 10;
      System.out.println(l);
      a /= 10;
   }
}
Answer 4

Через цикл

ArrayList<Character> list = new ArrayList<>;
for(int i = 0; i < str.lenght; i++){ list.add(str.charAt(i));}
READ ALSO
Ошибка в библиотке - java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/format/DateTimeFormatter

Ошибка в библиотке - java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/format/DateTimeFormatter

Пытаюсь использовать библиотеку "GeoDB Java SDK"При запуске на эмуляторе с API 23 приложение вылетает

263
Замена наследования композицией

Замена наследования композицией

Есть кусок кода - класс которые считает количество вызовов методаadd()

211
Удалить все записи из Set в Aerospike

Удалить все записи из Set в Aerospike

Я использую вот эту библиотеку на java для работы с AerospikeДля удаления всего сета я сначала скачиваю все из него, а потом делаю удаление каждой...

250