(求一个数是几位数)i为什么不是3而是4

PEvan 2018-03-07 11:48:46
int i=5555;
for(i=0;a>0;i++){
a = a/10;
}
System.out.println(i);
...全文
432 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

你们都不运行的啊;
自由自在_Yu 2018-03-08
  • 打赏
  • 举报
回复
int a = 5555;
		int i;
		for (i = 0; a > 0; i++) {
			a = a / 10;
			System.out.println("a="+a+",i="+i);
		}
		//执行到a=0,i=3之后,还要继续执行下一个循环(i=4),判断a的值是否继续执行
		System.out.println(i);
a=555,i=0 a=55,i=1 a=5,i=2 a=0,i=3 4
HelloWorld_Wolf 2018-03-08
  • 打赏
  • 举报
回复
int a = 5555; int i = 0; while(a>0) { a = a / 10; i++; } 你的for循环是可以换成这样的,也就是说i++是最后进行的 a i a>0 5555 0 true 555 1 true 55 2 true 5 3 true 0 4 false 输出i
tianfang 2018-03-08
  • 打赏
  • 举报
回复
计数器从0开始,0-3 是4个数,你最后返回的是3 需要+1处理
liuPeng_0930 2018-03-08
  • 打赏
  • 举报
回复
int a=5555; int i = 0; for(i=0;a>0;i++){ a = a/10; } System.out.println(i);
hua104899012 2018-03-08
  • 打赏
  • 举报
回复
这种需求直接转成string然后获取length不是更方便么

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧