实际上,您需要两个 for 循环,一个用于行,一个用于列,而您只使用了一个,这不足以绘制网格。
我已经画了网格作为我的作业,我已经和你分享了。它将帮助您找到编码中的问题...
![在此处输入图像描述](https://i.stack.imgur.com/mirx7.gif)
import java.awt.*;
class Grids extends Canvas {
int width, height, rows, columns;
Grids(int w, int h, int r, int c) {
setSize(width = w, height = h);
rows = r;
columns = c;
}
@Override
public void paint(Graphics g) {
int k;
width = getSize().width;
height = getSize().height;
int htOfRow = height / (rows);
for (k = 0; k < rows; k++) {
g.drawLine(0, k * htOfRow, width, k * htOfRow);
}
int wdOfRow = width / (columns);
for (k = 0; k < columns; k++) {
g.drawLine(k * wdOfRow, 0, k * wdOfRow, height);
}
}
}
public class DrawGrids extends Frame {
DrawGrids(String title, int w, int h, int rows, int columns) {
setTitle(title);
Grids grid = new Grids(w, h, rows, columns);
add(grid);
}
public static void main(String[] args) {
new DrawGrids("Draw Grids", 200, 200, 2, 10).setVisible(true);
}
}