【问题标题】:How do I correct a bug如何纠正错误
【发布时间】:2020-05-26 02:13:43
【问题描述】:

我正在尝试编写一个程序来绘制一个 200 像素 x 200 像素的正方形,正方形的颜色为红色(红色值 255)、绿色(绿色值 255)、蓝色(蓝色值 255)和洋红色(红色值 255 和蓝色值 255)。所有其他 RGB 值都设置为 0。但是,我的代码有一个错误,并产生了相当黄色、绿色、洋红色和蓝色。我如何获得红色而不是黄色?下面是我的代码。

var img = new SimpleImage(200,200);

for (var px of img.values()){


var x = px.getX();



var y = px.getY();





 if (x < img.getWidth()/2){
    px.setRed(255);



 }
  if (y>img.getHeight()/2){
    px.setBlue(255);

}

else {
    px.setGreen(255);
  }

}

print (img);

【问题讨论】:

  • 如果你可以设置十六进制值,试试#ff0000 for Red。

标签: javascript css function if-statement debugging


【解决方案1】:

浏览程序并考虑如果,例如x = 50, y = 50,它将如何执行

x &lt; img.getWidth()/2 计算结果为真,因此红色设置为 255,继续执行下一条语句

y &gt; img.getHeight()/2 计算结果为 false,因此执行“else”代码并将绿色设置为 255

这会给你一个 255 红色和 255 绿色的像素,而不是你所期望的。

如果您使用elseif,您将获得所需的行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 2010-10-18
    • 1970-01-01
    • 2017-05-15
    • 2014-06-03
    • 2013-04-23
    • 1970-01-01
    相关资源
    最近更新 更多