
主要思想请看代码的第17行的while方法
如果n的个位数不为0或者n的个位数为0但高位数不为0则用count+1并且将n/10,再次进入循环,直至n为0。n为0时即得到位数count
代码如下:
运行结果:
public static void main(String[] args) {\x0d\ int i = 12345;\x0d\ int j = 0;\x0d\ while(i != 0){\x0d\ j += i %10;\x0d\ i = i /10;\x0d\ Systemoutprintln(j);\x0d\ }\x0d\}\x0d\LS的方法必须要知道原int 的个数。。。所以我的这个比较通用,当然你可以写成方法,把i 作为参数。。。 \x0d\\x0d\public int zhidao (int i){\x0d\ int j = 0;\x0d\ while(i != 0){\x0d\ j += i %10;\x0d\ i = i /10;\x0d\ }\x0d\ return j;\x0d\ }
首先,java里int是有32位2进制数组成的
我们一般赋值 int i = 1; 这个是赋值10进制的数
赋值 2进制要 int i = 01;(前面加个0,就表示是2进制数)
赋值16进制(常用) int i = 0x00000001; (0x表示为16进制数)
3种的值都是1
要用2进制输出就是IntegertoBinaryString(i)
拓展:
因为计算机处理位运算速度是非常快的(应该是最快的运算)
所以很多时候,如果有一堆boolean变量需要表示时, 一般只用1个int的数表示,如:
int i = 0x0000000f;//表示后4位为1
int m = (i >> 2) & 1; // 其中m就是表示某一位的值,2表示右边开始数第2位(当然是从第0位开始算的)
这样就能取具体每一位的值
这种方法在很吃代码效率的程序中经常遇到
全手打,望支持
以上就是关于java中怎么得到输入的一个数字是几位数全部的内容,包括:java中怎么得到输入的一个数字是几位数、java int取出各个数位怎么弄、java int怎么位移取前几位数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)