为什么我的2d数组显示'x'为120?

时间:2015-04-17 21:22:45

标签: java multidimensional-array

我的想法是创建一个2d数组,我可以将x和s和o进行输入,用户可以输入。  以下代码就是我所拥有的。

        if(xo.nextInt()== 1){
    System.out.println("You have chosen x");

    for(i =0; i < 6; i++){
        for(j = 0; i < 6; i++){
            System.out.println("Please choose a cell to enter");
            System.out.println(disBoard[i][j] = 'x');

我知道此时我没有任何要求数组用户输入的内容。我想知道的是为什么它显示120而不是x?

这就是声明数组的方式:

int[][] disBoard;

3 个答案:

答案 0 :(得分:3)

P̶r̶o̶b̶a̶b̶l̶y̶您已声明int[][] disBoard而120则是int的{​​{1}}值。只需将声明更改为'x'

答案 1 :(得分:3)

由于数组类型为int,这意味着当您将'x'存储到该数组时,需要将其转换为整数。由于Java中表示字符的方式(作为字符编码的结果),x等于120的数值。

您可以通过投射恢复角色值:

char characterVal = (char)(disBoard[i][j]);

或者,您可以将数组更改为char[][],以便存储字符。

答案 2 :(得分:0)

我只是查找ascii表并实现了x的ascii代码。