0

次のコードで、intsの代わりにアルファベットの文字を出力する必要があります。どうすればいいのですか?

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
4

3 に答える 3

9

私は考えます:

System.out.print(letters[board[i][j]]);

コメントで指摘されているように、letters静的にする必要があります(そして、それを実行している間は、プライベートで最終的なものにしてみませんか)。

于 2012-09-19T16:56:11.573 に答える
5

文字配列は必要ないことに注意してください。

board[i][j] + 'A'

同様に機能したでしょう。

于 2012-09-19T16:58:37.153 に答える
0

A〜Zの範囲の文字にはASCIIコードの範囲を使用します。

for (int i = 65 ; i <= 90; i++) {
// convert int to char and print out
    char c = (int) i;
    System.out.println("" + c);
}
于 2012-09-19T16:59:38.960 に答える