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的值就是该数的位数,想问一下该怎么改
大哥,你还记得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);
}
}
(顺便一提:
可以使用两个数2113相乘,或者使用自带的方法平方。
1,double a = b*b;两个4102数相乘达到平方的效果。1653
2,double a = Math.pow(b,2);表示版b的平方。第一个参数权是底数,第二个数是指数。
)
第五行代码 10^count 相当于求了个异或,用java的Math类吧