我做了直到这,但它没有显示任何输出。

import acm.program.*;
import acm.graphics.*;

import java.awt.*;

public class Test5 extends GraphicsProgram {

    public void run() {
    GRect rect = new GRect(0,0,50,50);

for(int i=1;i<=8;i++){

    for(int j=1;j<=8;j++)
      {
        if(((i + j) % 2 == 0))
          {
             rect.setColor(Color.WHITE);}
         else
          {
            rect.setColor(Color.BLACK); }
            add(rect);
          }
          }
      }
   }

最佳答案

一个简单的方法:

检查ij是否均为偶数,或者ij是否均为奇数。

更好的是,您可以比较ij的均一/奇数是否相等。

// Fill black.
g.setColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());

// Color red tiles.
g.setColor(Color.RED);
for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 8; j++) {
        if (i % 2 == j % 2) {
            g.fillRect(i * tileSize, j * tileSize, tileSize, tileSize);
        }
    }
}




import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class ChessBoard extends JPanel {
    private int size;

    public ChessBoard(int size) {
        this.setPreferredSize(new Dimension(size, size));

        this.size = size;
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        int tileSize = size / 8;

        // Fill black.
        g.setColor(Color.BLACK);
        g.fillRect(0, 0, getWidth(), getHeight());

        // Color red tiles.
        g.setColor(Color.RED);
        for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 8; j++) {
                if (i % 2 == j % 2) {
                    g.fillRect(i * tileSize, j * tileSize, tileSize, tileSize);
                }
            }
        }
    }

    public static void main(String[] args) {
        JFrame f = new JFrame();
        Container c = new ChessBoard(400);

        f.setContentPane(c);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocationRelativeTo(null);
        f.pack();
        f.setVisible(true);
    }
}

关于java - 用Java创建棋盘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21655028/

10-10 10:52