Подсчёт количества цифр в числе на Java — пример программы

Чтобы посчитать количество цифр в целом числе, нужно последовательно делить его на 10, пока оно не станет равно 0, и считать число шагов.

Пример 1: подсчёт цифр с помощью цикла while

На каждой итерации число делится на 10 (отбрасывая последнюю цифру), а счётчик count увеличивается на 1.

public class Main {

  public static void main(String[] args) {

    int count = 0, num = 0003452;

    while (num != 0) {
      // num = num/10
      num /= 10;
      ++count;
    }

    System.out.println("Number of digits: " + count);
  }
}

Вывод:

Number of digits: 4

Цикл while выполняется, пока условие num != 0 истинно.

  • После первой итерации num делится на 10 и становится равно 345, счётчик count равен 1.

  • После второй: num = 34, count = 2.

  • После третьей: num = 3, count = 3.

  • После четвёртой: num = 0, count = 4.

  • Условие становится ложным, цикл завершается.

Примечание

Ведущие нули в числе игнорируются. Например, для 000333 результат будет 3.

Пример 2: подсчёт цифр с помощью цикла for

Тот же алгоритм можно записать в виде цикла for с пустым телом.

public class Main {

  public static void main(String[] args) {

    int count = 0, num = 123456;

    for (; num != 0; num /= 10, ++count) {
    }

    System.out.println("Number of digits: " + count);
  }
}

Вывод:

Number of digits: 6

На каждой итерации значение num делится на 10, а count увеличивается на 1. Цикл завершается, когда num становится равно 0.

Поскольку у цикла нет тела, его можно записать в одну строку:

for(; num != 0; num/=10, ++count);