判断输入的一个数为几位数(个人想法)

Star_hack 2009-04-16 09:40:58
import java.util.*;
public class Test {
public static void main(String[]args){
Scanner input = new Scanner(System.in);

System.out.print("请输入一个数:");
int number = input.nextInt();
int i = 0;
do {
number = number /10;
i++;
}while(number!=0);

System.out.println("这是个"+i+"位数");
}
}

看了下网上相关的搜索,发现我写的貌似是最简单的!!
我是个小小小菜鸟,觉得有点激动...
...全文
553 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
为了梦想 2011-08-21
  • 打赏
  • 举报
回复
5楼的这个算法也很犀利
int i = String.valueOf(number).length();
shou_ji_dang 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 runffer_yang 的回复:]
算位数还用循环么?用10为底的对数一个算式就搞定吧.
[/Quote]
这才是简单的方法,楼主这种题不用循环的
刚仔仔 2011-08-21
  • 打赏
  • 举报
回复
好.好.好.好.
Steve 2009-04-16
  • 打赏
  • 举报
回复
1)
System.out.println((number==0)?1:(int)Math.log10(x)+1);

2)
System.out.println(String.valueOf(number).length());
abc130314 2009-04-16
  • 打赏
  • 举报
回复
不错,加油!!!
Steve 2009-04-16
  • 打赏
  • 举报
回复
算位数还用循环么?用10为底的对数一个算式就搞定吧.
Star_hack 2009-04-16
  • 打赏
  • 举报
回复
我经过不断的调试(如果0算1位数)
发现0-999999999没有报错!!!
此代码在Eclipse中完全正确..
如果还有BUG
请高人指点..
谢谢!!

Cyanapple_wen 2009-04-16
  • 打赏
  • 举报
回复
是不错,不过好像到了10位数时就要出错了。

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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