gpt4 book ai didi

java - 需要使用 StdDraw 绘制二维数组的帮助

转载 作者:行者123 更新时间:2023-12-01 16:57:50 26 4
gpt4 key购买 nike

所以我已经有一个方法来读取我已转换为二维数组的文件(因此数组的尺寸每次可能不同,具体取决于我使用的文件)。现在我试图用它来绘制一个矩形,但它不起作用。我的代码是:

public static void drawBoard(String [][] board)  {

for (int i = 0; (i < board.length); i++) { //line 88
for (int j = 0; (j < board[0].length); j++) {
int r = board.length;
int c = board[0].length;
double R = new Double(r);
double C = new Double(c);

StdDraw.setXscale(0,C);
StdDraw.setYscale(0,R);
StdDraw.setCanvasSize(500,500);
StdDraw.setPenRadius(0.05);
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.rectangle((C/2), (R/2), (C/2), (R/2));
StdDraw.close();


}
}
}

我可以做什么来解决这个问题?我怎样才能让它画一个矩形?它说错误在第 88 行,并且它是一个“java.lang.NullPointerException”错误。

最佳答案

StdDraw.rectangle 需要 double 类型的输入参数。您向其传递 int 类型的输入参数。这没问题,但您可能不想这样做。计算 C/2R/2 时,您会执行 integer division因此你可能会不小心四舍五入。要解决此问题,您可以将 CR 初始化为 double

关于java - 需要使用 StdDraw 绘制二维数组的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61558262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com