Я не могу понять это. Всегда отображается, что номер состоит из 4 цифр. Я ограничил входной предел 4 цифрами, как я уверен, вы можете видеть.
Я пытался изменить операторы модуля и другие базовые решения.
// 28 марта 2019 г.
/ * Написать Java-программу с использованием цикла do while, который принимает положительные или отрицательные целочисленные входные данные от пользователя и сообщает, сколько цифр содержит это число.
* Цикл должен завершиться, когда пользователь вводит 0. Подсказка: используйте%, чтобы получить доступ к каждой цифре и /, чтобы уменьшить число, чтобы вы могли сосчитать все цифры.
* /
import java.util.Scanner;
public class Do_While_Swigart
{
public static void main(String [] args)
{
int number = 0;
int var = 0;
int var2, var3,var4,var5,var6 = 0;
int count = 0;
Scanner scan = new Scanner (System.in);
System.out.println("Hello! Please input a positive or negative whole number. Ex: 450");
number = scan.nextInt();
do
{
var = number % 10;
count = (var/var);
var2 = number % 100;
count += (var2/var2);
var3 = number %100;
count += (var3/var3);
var4 = number%1000;
count += (var4/var4);
var5 = number%10000;
} while ( var5 == 0);
System.out.println("Your number has "+count+" digits.");
}
}