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

哪里出错了改不出来啊~~~~

public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
if(num>=0&&num<999999999)
{
    while(num!=0)
    {
        count++;
        num/=num;
    }
    System.out.println("它是个"+count+"位的数!");
}
else
System.out.println("输入错误!");






}
}

正在回答

6 回答

对哦 其实就改num=num/10  想多了我= =

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

慕村6393778 提问者

还是谢谢你,最后我把他的输出复制过来就对了,应该是感叹号!和!的问题
2016-05-18 回复 有任何疑惑可以回复我~

public static void main(String[] args){

Scanner s=new Scanner(System.in);

System.out.println("请输入一个数:");

int num=s.nextInt();

int count = 0;

if(num>=0 && num<999999999){

   while(num!=0){

    num=num/10;

       count++;

   }

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

}

else

System.out.println("输入错误!");


}


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

num/=num; 改成 num/=10;

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

public static void main(String[] args){

int num = 999;

int count = 0;

if(num>=0 && num<999999999){

   while(num!=0){

    num=num/10;

       count++;

   }

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

}

else

System.out.println("输入错误!");


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

当num!=0 这不是陷入无限循环了么? 应该改成下面的.   num/=num 自除也等于1了..是num/=10. 

再把count = 1 的初始值就行了.

num/10 !=0   //因为num是int型,自动舍弃非整数的小数点后面的数字.  如13/10 = 1      3 / 10 = 0


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

慕村6393778 提问者

我打错了,当时写的是num/=10,一样是错的
2016-05-18 回复 有任何疑惑可以回复我~

while()括号中的条件值为真时跳出循环,num一开始的赋值就是999,while(num!=0)括号中的条件值为真,while(){}先判断在执行,判断后不会进入循环。

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

枫一样

while 为真时是进入循环啊
2016-05-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165153    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

哪里出错了改不出来啊~~~~

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