異常在線程 「主要」 java.lang.ArrayIndexOutOfBoundsException:5 在Grid.main(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社區。什麼可能是這個錯誤的原因?
P.S.我很好奇Netbeans是否真的有效,因爲我正在採用適度值得信賴的同事的話,但目前沒有辦法在此係統上設置JDK。如果能夠訪問該軟件的人可以測試此功能,我會非常感激!
是的,這是給出錯誤的值,但它是不加區分的。無論這個值是什麼,它都不會影響錯誤。 –
你是否傳遞了命令行參數? (運行你的程序時使用類似'java grid 3'的東西將會通過命令行參數運行它) – Toberumono
drawGrid(Integer.parseInt(args [5])); 這不是命令行參數嗎? –