在2维维数阵列上具有0-9的x,y坐标

时间:2017-04-06 21:54:28

标签: java arrays multidimensional-array

这是我的棋盘游戏代码,但是我无法添加我的x,y坐标0-9。有人可以帮忙吗?

String[][] board = new String [10][10];
for (String[] board1 : board) {
    for (int c = 0; c <board.length; c++) {
        board1[c] = ".";
    }
}

for (String[] board1 : board) {
    for (int c = 0; c <board.length; c++) {
        System.out.print(board1[c] + " ");
    }
    System.out.println();

2 个答案:

答案 0 :(得分:0)

    String[][] board = new String [9][9]; 
    for (String[] board1 : board) 
    { 
        for (int c = 0; c <board.length; c++) 
        { 
            board1[c] = "."; 
        } 
    }

    System.out.print("0");
    for(int i = 1; i < 10; i++)
        System.out.print(" " + i);
    System.out.println();
    int i = 1;
    for (String[] board1 : board) 
    {
        System.out.print((i++) + " ");
        for (int c = 0; c <board.length; c++) 
        { 
            System.out.print(board1[c] + " "); 
        } 
        System.out.println();
    }

只需稍微玩一下代码即可获得。练习进行小的更改并运行代码,重复。

答案 1 :(得分:0)

将来,您应该尝试提出一个非常具体的问题,并在您的问题中显示您尝试过的代码。请参阅How to Create a Minimal, Complete, and Verifiable Example

根据我的理解,这是您目前的代码:

String[][] board = new String[10][10];
for(String[] board1 : board){
    for(int c=0; c<board.length; c++){
        System.out.println(board1[c] + " ");
    }
}
System.out.println();

这是你想要输出的内容:

0 1 2 3 4 5 6 7 8 9
0 - - - - - - - - -
2 - - - - - - - - -
3 - - - - - - - - -
4 - - - - - - - - -
5 - - - - - - - - -
6 - - - - - - - - - 
7 - - - - - - - - -
8 - - - - - - - - -
9 - - - - - - - - - 

这就是您应该问的问题。

对于答案,您必须将程序视为有两个步骤。第一步是设置数组的值,第二步是打印出来。

第一步,只需使用嵌套在另一个循环中的循环:

    for(int i=0; i<board.length; i++){
        for(int j=0; j<board[0].length; j++){
            if(i==0){ //if the cell is in the first row, set it to the column number
                board[i][j] = Integer.toString(j);
            } else if(j==0){ //if the cell is in the first column, set it to the row number
                board[i][j] = Integer.toString(i);
            } else{
                board[i][j] = "-";
            }
        }
    }

现在设置了值,您必须打印它们。可以把它想象为每行打印一行。在每行中,您可以一次打印一列值。

    for(int row=0; row<board.length; row++){
        for(int column=0; column<board[0].length; column++){
            System.out.print(board[row][column] + " "); //after each value, add a space
        }
        System.out.println(); //at the end of each row, go to the next line
    }

请注意,此代码会在每行的末尾添加额外的空格。