作为一个类,我们在eclipse中创建了一个棋盘。我想出了这段代码,但是它没有显示棋盘,而是只有三个白框,其余的都是黑色的。这是我的代码:
import acm.program.*;
import acm.graphics.*;
import java.awt.*;
public class checkgame extends GraphicsProgram
{
private static final int ROWS = 8;
private static final int COLUMS = 8;
public void run()
{
int sqSize = getHeight() / ROWS;
for (int i = 0; i<ROWS; i++)
{
for (int j = 0; j<COLUMS; j++)
{
int x = j*sqSize;
int y = i*sqSize;
GRect sq = new GRect (x,y,sqSize,sqSize);
sq.setFilled(((i+j)/2)!=0);
add(sq);
}
}
}
}知道我哪里出问题了吗?谢谢!
发布于 2016-02-05 23:11:40
而不是
((i+j)/2)!=0你想用
((i+j)%2)!=0您的初始表达式正好是true的三倍(0,0 / 0,1 / 1,0),这就是您看到三个白框的原因。修正后的版本取决于(i+j)/2是奇数还是偶数--在这种情况下,模运算符是常见的选择。
https://stackoverflow.com/questions/35235022
复制相似问题