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

来源:4-15 编程练习

慕村6393778

2016-05-18 11:06

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回答

  • 枫一样
    2016-05-18 11:23:09
    已采纳

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

    慕村6393...

    还是谢谢你,最后我把他的输出复制过来就对了,应该是感叹号!和!的问题

    2016-05-18 11:49:34

    共 1 条回复 >

  • 前世有约11
    2016-05-18 11:25:50

    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("输入错误!");


    }


  • SheldonLWhy3355079
    2016-05-18 11:23:04

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

  • 前世有约11
    2016-05-18 11:21:28

    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("输入错误!");


  • 枫一样
    2016-05-18 11:20:51

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

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

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


    慕村6393...

    我打错了,当时写的是num/=10,一样是错的

    2016-05-18 11:46:07

    共 1 条回复 >

  • GodIsACoder
    2016-05-18 11:16:45

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

    枫一样

    while 为真时是进入循环啊

    2016-05-18 11:22:00

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165552 学习 · 17587 问题

查看课程

相似问题