首先我觉得计算机求数字位数与人的求法不同
人求出的有数值意义比如可以念出个十百千位的
但是我的方法里
计算机求出的是一串数字
而不是几千几百这样
人读一串数字会习惯读数值就是几百几十这样
就是从右边开始
但是我们使用计算机读一个数。数字如果没有一个确定的位数
我们很难让计算机和我们一样直接从右边开始数
这个计算机不擅长
计算机擅长的是讲一个数加减乘除
那么我们就可以利用加减乘除把一个数的各个位数分解出来
从右边开始即取余
从左边开始即取整
比如 定义n= 1234
想到的是取整
n=n/10;
具体程序如下
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();// 控制台输入一个数
int acont=0; //计数器
while (n!=0)
{
n=n/10;
acont+=1;
}
System.out.println(acont);
}
}
以上便是我结合老师所说自己所理解的给出的方法
奈何思路有些局限
如果各位有更多的办法或更好的办法。希望不吝赐教。