我在java編寫了四個月 - 現在仍然是一個新手!我想用一個框架在Java中創建一個隨機化的不重複數組來找到座標。我已經初始化了我想要的數組中的字符,但是我一直在打印輸出中停止,破折號和括號等。我錯過了什麼?我不想下去圖書館路線的僱用。創建一個隨機編碼陣列使用字母和數字從ASCII與指定的幀,並沒有重複在Java
final char[] randomSquare = {'C', 'O', 'D', 'I', 'N', 'G'};
// the Grid used that will be randomly filled
char[][] grid;
int A = 65;
int Z = 90;
int num0 = 48;
int num9 = 57;
// create a Random numbers generator
Random ran = new Random();
grid = new char[randomSquare.length][randomSquare.length];
// loop to print randomSquare header for grid array
for (int j = 0; j < 1; j++) {
System.out.print(" ");
System.out.print(randomSquare);
}
System.out.println();
// print randomSquare at position 0 all the way down
for(int i = 0; i < randomSquare.length; i++) {
// the letter at the beginning of the row
System.out.print(randomSquare[i] + " ");
// the Grid contents for that line
int index = 0;
for(int j = 0; j < randomSquare.length; j++) {
if (A >= 65 && A <= 90){
index = ran.nextInt(A + Z);
}
if (num9 <= 57 && num9 >= 48) {
index = ran.nextInt(num0 + num9);
}
System.out.print("" + (char)index);
}
System.out.println();
index++;
}
return grid;
首先,您對A,num9等使用if語句,但在初始化它們之後再也不會設置這些值。不知道你需要他們什麼。其次,'ran.nextInt(int n)'將返回一個隨機數到該數字。所以基本上,你可以得到各種符號。例如,'ran.nextInt(A + Z)'可以獲得155以內的任何數字。#60是一個<符號。查看http://www.asciitable.com/。您還需要修復'ran.nextInt()' – Ascalonian