 
		慕粉3825102
2016-08-21 19:30
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么
Java入门第一季(IDEA工具)
1168090 学习 · 18754 问题
相似问题