class Try{
    public static void main(String args[]){
        for(double x=0.1;x!=1.0;x+=0.1)
        System.out.println(x+";");
    }}
有谁 能帮我支出 这个程序中有什么问题阿?
谢谢了

解决方案 »

  1.   

    你这个程序是不是出了死循环??
    因为JAVA中0.1+0.1…………
    永远不会加到1,所以会出死循环
      

  2.   

    一楼正解
    for(double x=0.1;x<=1.0;x+=0.1) {
                System.out.println(x+";");
                System.out.println(x!=1.0);
            }
      

  3.   

    因为double等浮点数的精度不如整型高
    所以一般精确控制次数的语句,最好用int值来做
      

  4.   

    浮点型比较不要用"="号,而是应该给一个范围,比如:
    !(x>0.99 && x<1.01)
      

  5.   

    double精确度不好
    可以        for(int x = 1; x<10; x++)
                System.out.println((double)x/10+";");像三楼那样 估计会和你希望要的值不一样