如何在2D数组中打印两个特定元素

时间:2014-11-16 20:08:13

标签: java loops multidimensional-array

我试图编写一个基本的记忆游戏,用户必须猜测一个字符数组上的两个不同的位置,看看两个字符是否匹配。

首先,用户然后输入两个坐标整数Ex:[1,2]和[1,4]。选择拼图板的大小后,我的程序会根据拼图板的大小创建一组随机字母。

我的问题在于尝试打印用户的猜测坐标。输入的第一个坐标始终打印在数组的正确索引中,但第二个输入的坐标是 没有准确显示。

以下是打印数组的代码段,感谢任何提示/帮助。

{
    int i=1;

    for (int row=0; row<board.length; row++){
      for (int column=0; column<board[row].length; column++){
        if (x==row && y==column)
              {
          System.out.print (" "+ board[row][column]+ " ");
        }
        else if ( a==row && y==column){
          System.out.print (" "+ board[row][column] + " ");
        }
        else 
          System.out.print (" * " );

      }
      System.out.print (i++);

      System.out.println ();
    }


    int m=1;

    while (m<board.length+1){

      System.out.print (" "+ m++ + " " );

    }
    System.out.println (" ");
  }

1 个答案:

答案 0 :(得分:0)

如果您输入的第一个坐标是x,y,则第二个坐标不能是ay

else if ( a==row && y==column){

在查看代码之后,第二个坐标应该是a,b

else if (a==row && b==column){

或者,将他们命名为x2,将y2命名为

int x2=keyboard.nextInt( );
x2--;
int y2=keyboard.nextInt( );
y2--;

然后

else if (x2==row && y2==column){