首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要使用StdDraw绘制二维数组的帮助

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

Stack Overflow用户
提问于 2020-05-02 18:59:08
回答 1查看 377关注 0票数 0

所以我已经有了一个方法来读取我已经转换成二维数组的文件(因此,根据我使用的文件的不同,该数组的维数可能每次都不同)。现在我正试着用这个画一个矩形,但它不起作用。我的代码是:

代码语言:javascript
复制
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“错误。

EN

回答 1

Stack Overflow用户

发布于 2020-05-02 19:32:31

StdDraw.rectangle需要double类型的输入参数。将int类型的输入参数传递给它。这是可以的,但您可能不想这样做。在计算C/2R/2时,您使用的是integer division,因此您可能会意外地向下舍入。要解决此问题,可以将CR初始化为double

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61558262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档