public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
for(;count<=9;count++){
if(num/(10^count)<1){
break;
}
}System.out.println("它是个"+count+"位的数!");
}
}
if语句中的表达表达式错误!!!10的n次方不能写成10^n,“^”是位运算符!!!
正解是Math.pow(10, count)即是if中的表达式是(num / Math.pow(10, count) < 1)
讲道理来说,开始的定义变量count的初始值应该为1才对吧,哪有什么0位数。。。。。。 public class HelloWorld{ public static void main(String[] args){ int num = 999; int count = 1; for(;(num/10)!= 0;count++){ num=num/10; } System.out.println("它是个"+count+"位的数!"); } }
for(;count<=9;count++) count等于9的话,count也自增所以是10位,if后面小括号里的扛不动
这代码写的,基本逻辑关系就错了。从逻辑关系上看就是强制count强制循环10次,你count不等于10么