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

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

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的值就是该数的位数,想问一下该怎么改


正在回答

2 回答

大哥,你还记得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的平方。第一个参数权是底数,第二个数是指数。




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

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

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

举报

0/150
提交
取消

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

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