为了账号安全,请及时绑定邮箱和手机立即绑定

请问这种方法可以么?(判断一个数(小于10位)的位数)

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

int i = 1;

    count+=1;

    for( ; (0 > (num/i)) || ((num/i) > 10) ;count++ ,i=i*10 ){

} System.out.println("它是个" +count+ "位的数!");


}

}


正在回答

2 回答

简单问题复杂化了,为什么要多余的定义一个变量i呢?

完全可以在count完了之后加上if条件句,

while(num!=0){

    num = num/ 10;

    count++;

}

if(count <= 10)

    sysout...

else

    stderr

1 回复 有任何疑惑可以回复我~

for的循环条件不对吧

(num/i)>10也不能放在循环里,我的理解是先判断是小于10位的数再进行循环输出

if(num/i<10)

{

    for( ; (num/i)>0; count++,i=i*10);

    System.out.println("它是个" +count+ "位的数!")

}

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问这种方法可以么?(判断一个数(小于10位)的位数)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信