lmq2008 发表于 2017-3-20 12:23

刚学这个语言,写了一个不知道是哪里错了【已解决】

本帖最后由 lmq2008 于 2017-3-21 09:35 编辑

刚刚才学,所以想请教下,不知道我是哪里出错了呀,好像是while里面只能是整数是吗?如果是从小数开始一直往上面加的话,应该什么写,先在此说声谢谢,

public class text{
      public static void main(String[] args){
      double b=3.0;
      double sum=30000;
      double i=0.1;
      double c=b+i;
      while(i<=0.3){      
                sum=sum+c*360;
                System.out.println(sum);i++;
                }
      }
}

xiaoxian123 发表于 2017-3-20 13:15

楼主大概这个意思
----------------------------------------------------------------------------
public class Demo1 {
        public static void main(String[] args) {
               double b=3.0;
                double a=30000;
                double i=0.1;
                double c=b+i;
                while(i<=0.3){      
                        System.out.println(i);
                      a=a+c*360;
                      System.out.println(a);i+=0.1;
                }
                System.out.println(i);
                
        }
}
--------------------------------------------------------------------------------------------
0.1
31116.0
0.2
32232.0
0.30000000000000004
----------------------------------------------------
从结果看只输出了2次
所以建议楼主做判断的时候尽量用int

venus 发表于 2017-3-20 12:35

LZ数学不好?

0772boy 发表于 2017-3-20 12:39

虽然不知道你说的出问题是出了什么问题
不过个人感觉你要先弄明白 i++; 在循环里每一步执行的时候是什么效果,完了估计就能解决你的疑惑了
然后提个建议,你定义变量可以把i定义为1,2,3然后在用它的时候再让它/10

lmq2008 发表于 2017-3-20 12:41

0772boy 发表于 2017-3-20 12:39
虽然不知道你说的出问题是出了什么问题
不过个人感觉你要先弄明白 i++; 在循环里每一步执行的时候是什么效 ...

本身我想用替换法——把C换掉,也换成了I是整数的,我知道I一个是先+然后再算,一个是算后再加。我是刚学的可能还太不明白。

glory_ka 发表于 2017-3-20 12:42

这个单单是输出一次而已吧

xubinche8888 发表于 2017-3-20 12:43

看不懂啊

lmq2008 发表于 2017-3-20 12:44

0772boy 发表于 2017-3-20 12:39
虽然不知道你说的出问题是出了什么问题
不过个人感觉你要先弄明白 i++; 在循环里每一步执行的时候是什么效 ...

就是原来有一个A数+按3开始加0.1(递增)*360,然后得出来的数再与A相加,就这样循环下去。

0772boy 发表于 2017-3-20 12:44

lmq2008 发表于 2017-3-20 12:41
本身我想用替换法——把C换掉,也换成了I是整数的,我知道I一个是先+然后再算,一个是算后再加。我是刚学 ...

你对C的操作不在循环里啊,你每次循环C都是最初的值

0772boy 发表于 2017-3-20 12:58

按你的意思每次循环都要输出一个sum * C的值,那你应该把C放在循环里面去每次都C= (b*10+i)/10然后定义一个变量比如sum2=sum*C,然后输出sum2
你sum要让它固定值就把它放循环外面去,你这基础没学好吧,多看基础教程

偶布川内酷 发表于 2017-3-20 12:59

i++的意思是 每次+1,你还是给他写成i+=0.1吧
页: [1] 2 3 4
查看完整版本: 刚学这个语言,写了一个不知道是哪里错了【已解决】