我正在打印一个网格,从0- 9显示为列,0-9显示为行。
我想把它显示为列的0-9和行的A-J,但不知道如何在循环中使用字符而不是整数?
public class BattleshipGame {
private char[][] playerBoard;
private char[][] compBoard;
private final static int boardSize = 10;
private String input, shipType, shipDirection = "";
public static String name;
private int shipRowLoc, shipColLoc;
private boolean allowed, random = false, showShips = false;
private MoveType moveType;
private ArrayList<Battleships> enemyShips = new ArrayList<Battleships>();
Scanner userinput = new Scanner(System.in);
public BattleshipGame() {
playerBoard = new char[boardSize][boardSize];
compBoard = new char[boardSize][boardSize];
initializeBoard();
placeShip();
}
public void initializeBoard() {
for (int i = 0; i < boardSize; i++)
for (int j = 0; j < boardSize; j++){
playerBoard[i][j] = '~';
compBoard[i][j] = '~';
}
}发布于 2014-11-26 15:29:51
你有几个选择,你可以用
for (char ch = 'A'; ch <= 'J'; ch++)或者类似的东西
for (int j = 0; j < 10; j++) {
char ch = (char) ('A' + j);发布于 2014-11-26 15:30:19
要从A-J映射字符,您可能只需在它们的代码点对它们进行索引。
例如,A是65。
所以System.out.println((char)65)会打印A。
通过索引将其从0增加到9,然后将字符从A增加到J。
https://stackoverflow.com/questions/27152867
复制相似问题