问答详情
源自:4-11 Java循环跳转语句之 break

没有循环做出来的,请大神指导下,问题出在哪里了?

public class l4 {

public static void main(String[] args){

        int num = 999;

        if(num%10<1){

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

        }else if(num%100<1){

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

        }else if(num%1000<1){

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

        }else if(num%10000<1){

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

        }else if(num%100000<1){

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

        }else if(num%1000000<1){

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

        }else if(num%10000000<1){

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

        }else if(num%100000000<1){

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

        }else if(num%1000000000<1){

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

        }else{

            System.out.println("请输入小于10位的数字");

        }

    }

}


提问者:昵称是JaVa 2016-12-22 21:36

个回答

  • L_GNOY
    2016-12-22 22:24:24
    已采纳


    // 哈?还有你这个代码不是循环的知识吧?这不是if条件判断语句吗?并且你的判断条件不应该是求余吧?直接除就行了呀,求余的话好像都满足条件诶~
    
    //main方法里面 代码改为如下:
            int num = 999;
            if(num/10<1){
                System.out.println("他是个1位数");
            }else if(num/100<1){
                System.out.println("他是个2位数");
            }else if(num/1000<1){
                System.out.println("他是个3位数");
            }else if(num/10000<1){
                System.out.println("他是个4位数");
            }else if(num/100000<1){
                System.out.println("他是个5位数");
            }else if(num/1000000<1){
                System.out.println("他是个6位数");
            }else if(num/10000000<1){
                System.out.println("他是个7位数");
            }else if(num/100000000<1){
                System.out.println("他是个8位数");
            }else if(num/1000000000<1){
                System.out.println("他是个9位数");
            }else{
                System.out.println("请输入小于10位的数字");
            }

     



  • L_GNOY
    2016-12-22 22:29:19

    //像这个循环比较好点~  完美
    public class HelloWorld{
    public static void main(String[] args){
            int num = 656;
            int count = 0;
            if(num>=0 && num<=999999999){
            while(num != 0){
                count++;
                num/=10;
            }
            System.out.println("它是个"+count+"位的数!");
            }else{
            System.out.println("输入有误!");
            }
        }
    }


  • L_GNOY
    2016-12-22 21:47:45

    目测循环的代码没有问题,可能是浏览器缓存问题吧?!多提交几次试试~