问答详情
源自:4-15 编程练习

我和答案的不太一样,各位师兄弟能帮忙看一下吗

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 1;

for(count=1;num/(10^count)>1;count++){

if(num/(10^count)<=1){break;}

{System.out.println("它位数是"+count);}

}

}

我大概的思路就是让这个数除以10的i次方,如果商小于0输出i的值就是该数的位数,想问一下该怎么改


提问者:qq_慕容8550782 2020-05-22 17:56

个回答

  • 汉化
    2020-05-25 22:58:38

    大哥,你还记得3.5中的逻辑运算符吗?^在java中是异或的意思。而且你的大括号位置也用错了,多用并且位置不对,如果说一定要按照你的思路来的话,应该是这样的


    public class HelloWorld{

    public static void main(String[] args){

    int num = 999;
    int count = 1;

    for( count=1; num/Math.pow(10,count)>1; count++){

    if(num/(10^count)<=1){
        break;
        
    }

    }

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

    }

    }



    (顺便一提:

    在java中数字的平方表示:

    可以使用两个数2113相乘,或者使用自带的方法平方。
       1,double a = b*b;两个4102数相乘达到平方的效果。1653

        2,double a = Math.pow(b,2);表示版b的平方。第一个参数权是底数,第二个数是指数。




  • 慕设计8270978
    2020-05-25 21:49:33

    第五行代码 10^count 相当于求了个异或,用java的Math类吧