繁体   English   中英

网格图问题/错误

[英]Grid drawing issue/error

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:在Grid.main处为5(Grid.java:25)

尝试编译时发生上述错误:

class Grid {
// Grid drawing method
    static void drawGrid(int n) {
        StdDraw.setXscale(0, 2*n);
        StdDraw.setYscale(0, 2*n);
// StdDraw.jar setter for scale method called
        for (int v = 1; v <= n; v++) {
            // variable colours lower left square red.
            for (int k = 1; k <= n; k++) {
                if ((v+k) % 2 == 0)
                    StdDraw.setPenColor(StdDraw.RED);
                else
                    StdDraw.setPenColor(StdDraw.BLACK);
                StdDraw.filledSquare(2*v-1, 2*k-1, 1);
            }
        }
    }

    public static void main(String[] args) {
        drawGrid(Integer.parseInt(args[5])); 
        // calls the drawGrid method to draw the grid with defined values
    }
}

我知道这可以解释为一个简单的程序,对大多数人来说是一个基本错误,只是一个无辜的红色和黑色小网格,但这让我很困惑。 我想我知道错误的含义,我正在尝试访问程序无法绘制的网格大小? 这是我从该站点以及其他站点上的资源研究中收集的信息,我只是不明白为什么5值会引发错误。 我尝试更改该值,无论数量多少,它都是不加区别的。 我认为增量计算可能有问题吗?

据我的同事说,该程序已在Netbeans上成功编译,但在我的家庭Eclipse设置上,出现“ OutOfBounds”错误。

当然,我意识到这可能有点琐碎,但是已经尽了一切努力来理解为什么我的同事代码失败了,我自己也无法对此有所了解。 所以,我向您介绍一下Stack Overflow社区。 该错误的原因可能是什么?

PS我很好奇这是否真的可以在Netbeans中使用,因为我正在接受一些值得信赖的同事的话,但是目前还没有办法在该系统上设置JDK。 如果可以访问该软件的任何人都可以测试此软件,我将不胜感激。

该错误似乎是在您的主要方法中发生的。 args[5]是程序的第6个命令行参数。 根据您的代码,我假设它应该是drawGrid(Integer.parseInt(args[0])); 这将访问第一个命令行参数。

至于它是否可以在Netbeans中运行,找出它的唯一方法就是尝试一下!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM