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

请问一下这个程序哪里有问题?

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

for(;num>0;num--){

    if( num%1000000000==1){

        System.out.println("它是个10位数!");

        break;

    }if(num%100000000==1){

        System.out.println("它是个9位数!");

        break;

    }if(num%10000000==1){

        System.out.println("它是个8位数!");

        break; 

    }if(num%1000000==1){

        System.out.println("它是个7位数!");

        break; 

    }if(num%100000==1){

        System.out.println("它是个6位数!");

        break; 

    }if(num%10000==1){

        System.out.println("它是个5位数!");

        break;

    }if(num%1000==1){

        System.out.println("它是个4位数!");

        break;

    }if(num%100==1){

        System.out.println("它是个3位数!");

        break;  

    }if(num%10==1){

        System.out.println("它是个2位数!");

        break;   

    }if(num%1==1){

        System.out.println("它是个1位数!");

        break;    

    }

}









}

}


正在回答

4 回答

public class HelloWorld{public static void main(String[] args){int num = 999;int count = 0;for( ; num!=0;count++ ){    num=num/10;  } System.out.println("它是个3位的数!"); //它是个"+count+"位数!}}


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

同样效果的两个程序,代码越简单越少的最好,运行速度会更快

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

你为什么要写这么复杂???

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

我感觉这个循环次数太多了。。。例如999要到901才能判断出是三位数而且一位数是判断不了的

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

if(num==0)   //当num为0时手动使用if确定位数

count=1;

while(num!=0)

{

    num/=10;

    count++;

}

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

}

}


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

举报

0/150
提交
取消

请问一下这个程序哪里有问题?

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