因此,我花了三个小时来尝试解决以下问题。我的逻辑似乎是正确的,我的语法似乎是正确的,但是由于某种原因,代码只是不听我的话。多么典型。

        float counter = 0;
        float pColor = counter / ((float)Math.abs((x_end - x_start)));

        System.out.println("FIRST EVER PCOUNTER:" + pColor);
        System.out.println("FIRST EVER X START IS: " + x_start);
        System.out.println("FIRST EVER X END IS: " + x_end);
        System.out.println(x_end + "  " + x_start);

        // part of another program
        while(x != x_end){

            x+= step_x;
            counter++;
            System.out.println("Count is:" + counter);

            if(p<0){
                p+= twoDy;
            }
            else{
                y += step_y;
                p += twoDyMinusDx;
            }

            System.out.println("pColor is: "+pColor);
            System.out.println("p1.c.r: "+ p1.c.r);
            System.out.println("x_end is: " + x_end);
            System.out.println("x_start is:" + x_start);
            System.out.println("");


因此,上面所有的打印语句都是检查pColor是否正在更改。由于某种原因,所有打印语句都说pColor为0.0

FIRST EVER PCOUNTER:0.0
FIRST EVER X START IS: 341
FIRST EVER X END IS: 350
350  341
Count is:1.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:2.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:3.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:4.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:5.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:6.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:7.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:8.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341

Count is:9.0
pColor is: 0.0
p1.c.r: 1.0
x_end is: 350
x_start is:341


如您所见,计数器不断增加,但是每个pColor都保持为0.0。怎么了

最佳答案

这里

    float counter = 0;
    float pColor = counter / ((float)Math.abs((x_end - x_start)));


pColor的结果始终为0.0,因为0除以任何数字即为零。

例如:

System.out.println( 0 / 1);


输出:

0


另一个例子:


0除以任何数字即为0。
没有数字,即使是0,也不能变成0。在下面的示例中,9不能
完全变为0,得到0的答案。

例如:0/9 = 0


Source of the Example

10-04 11:33