java - 为什么我的二维数组将 'x' 显示为 120?

标签 java multidimensional-array

我的想法是制作一个二维数组,我可以将 x 和 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;

最佳答案

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

您可以通过转换来恢复字符值:

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

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

关于java - 为什么我的二维数组将 'x' 显示为 120?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29709564/

相关文章:

java - 获取大小时 map 的空指针异常

Java-通过MouseListener获取特定像素的强度值

java - 资源加载: How to determine if it's a directory

java - 在java中删除二维数组中的一些元素

c# - C# 中具有多种数据类型的多维数组?

c - 如何将多维 C 数组传递给函数?

java - 为什么 Java SSL 连接仍然对相同的客户端和服务器套接字使用相同的密码?

c++ - 如果维度在编译时未知,如何实现多维数组?

具有用于赋值的函数运算符的 C++ 数组类

java - 从 jsoup 的嵌套 href 检索数据