由于某种原因,此代码不会呈现任何内容。有人可以向我解释为什么它什么都不做?
import java.awt.*;
import java.applet.*;
public class TEST extends Applet {
public void paint(Graphics g) {
int xSize = 255;
int ySize = 255;
byte R, G, B;
for(int x = 0; x < xSize; x++) {
for(int y = 0; y < ySize; y++) {
R = (byte) (x % y);
G = (byte) (y % x);
B = (byte) (y);
Color pixel = new Color(R, G, B);
g.setColor(pixel);
g.fillRect(x, y, 1, 1);
}
}
}
}
答案 0 :(得分:1)
无法获得相对于0
的数字的模数,例如这里
R = (byte)(x%y);
在第一次迭代中。您可能会在此时看到ArithmeticException
。您可以从1
开始:
red = (byte) (x % (y + 1));
green = (byte) (y % (x + 1));
答案 1 :(得分:0)
我想通了,它试图把R G和B值放在255之上。 我刚刚在每个结尾添加了%255来修复它。 谢谢你的帮助。