Эта программа работает до тех пор, пока переменная разделения имеет такую же базовую мощность 10, что и переменная num, в этом случае число равно 12345, поэтому деление должно быть 10000. Хотя это работает для 5-значных чисел, что-либо с большим количеством или менее 5 цифр не будут напечатаны отдельные цифры. Как настроить деление на то, чтобы иметь тот же базовый 10-й уровень, что и число автоматически?Как распечатать цифры целых чисел любой длины?
public class lab5testing
{
public static void main (String args[])
{
int num = 12345, digit = 0, divide = 10000;
if (num != 0)
{
while(num != 0)
{
digit = ((num/divide)%10);
System.out.println(digit);
divide /= 10;
if (divide == 0)
{
num = 0;
}
}
}
else
{
System.out.println(num);
}
}
}
Я получаю ошибку говоря: несовместимые типы: возможное преобразование с потерями от двойной Int. –
странно ... как насчет этого: int length = String.valueOf (num) .length(); –