Reputation:
I need to make the following code print the letters of the alphabet instead of int
s. How do I do it?
import java.util.*;
import java.math.*;
public class Main {
String[] letters= {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "W", "X", "Y", "Z"};
public static void main(String[] args) {
//create the grid
final int rowWidth = 10;
final int colHeight = 10;
Random rand = new Random();
int [][] board = new int [rowWidth][colHeight];
//fill the grid
for (int row = 0; row < board.length; row++) {
for (int col = 0; col < board[row].length; col++) {
board[row][col] = rand.nextInt(25);
}
}
//display output
for(int i = 0; i < board.length; i++) {
for(int j = 0; j < board[i].length; j++) {
System.out.print(board[i][j] + " ");
//System.out.println();
}
System.out.println();
}
} //end of main
} //end of class Main
Upvotes: 0
Views: 231
Reputation: 328598
I suppose:
System.out.print(letters[board[i][j]]);
As pointed out in the comments, you need to make letters
static (and while you are doing that, why not make it private and final too).
Upvotes: 9
Reputation:
I would use the range of the ASCII code for the letter in A -Z range, like
for (int i = 65 ; i <= 90; i++) {
// convert int to char and print out
char c = (int) i;
System.out.println("" + c);
}
Upvotes: 0
Reputation: 6675
Note that you don't need a letters array.
board[i][j] + 'A'
would have worked as well.
Upvotes: 5