因此,該程式應該根據使用者輸入在3到11的大小之間生成一個奇數大小的陣列,然後在特定位置用一個字元填充該板上以取得圖案.一切都進行得很好,直到我嘗試回傳的陣列給了我2個超出範圍的異常,即使我將迴圈設定為小於尺寸.我在這裡以5為例,嘗試得到5 x 5的陣列.這是主要的.
public static void main (String [] args) {
int dimension = findDimension();
char [] [] array2d = new char [dimension] [dimension];
char star = '*';
array2d = leftDiagonal(star,dimension); // Get out of bounds here
print(array2d);
}
要求使用者輸入「 findDimension()」的方法
public static int findDimension() {
int dimension = 0;
Scanner keybd = new Scanner(System.in);
do {
System.out.print("Enter an odd integer between 3 and 11 please: ");
dimension = keybd.nextInt();
} while (dimension%2 == 0);
return dimension; // Everything seems fine here,no errors
}
列印陣列的方法
public static void print(char [] [] arrayParam) {
System.out.println("-----------");
System.out.println(arrayParam);
System.out.println("-----------");
}
設定模式「 leftDiagonal」的方法
public static char [] [] leftDiagonal(char starParam,int dimenParam) {
char [] [] leftD = new char [dimenParam] [dimenParam];
for (int i = 0; i < dimenParam; i++){
for (int j = 0; i < dimenParam; j++) {
leftD [i][j] = starParam; // Gets error here
}
}
return leftD;
}
輸出應為
-----------
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
-----------
從技術上講應該是
-----------
*
*
*
*
*
-----------
但此刻我只想取得任何輸出.我本來打算用空白」填充所有空白,然後用字元填充我需要的空白,但是我什至無法使陣列先列印出來.謝謝任何願意提供幫助的人.