比较2d int数组到字符的最佳方法?

时间:2015-11-19 17:47:10

标签: java arrays

我正在制作一个穿越迷宫的程序。我坚持我的逻辑,我想创建一个简单的if语句来比较我当前位置下面的字符是'#'(墙)还是'。' (可用空间)。我知道没有真正的方法来比较原始类型,但我需要帮助解决方案,所以我不再继续盯着这一小时。我想过使用ASCII值,但我不太确定这是否适用于2d int数组。一切都有帮助。谢谢!

if(currentLcoation[row - 1][col] == '.') //Check Down
    {

        int newX = row-1;
        int newY = col;
        currentLocation[][] = currentLocation[row-1][col];
    }

编辑: 下面是我正在穿越的迷宫。我想我不明白我的意图。我想比较一下,看看我目前所处的坐标(这将是一个int [row] [col])到'#'或'。'的迷宫中。

# # # # # # # # # # # #
# . . . # . . . . . . #
. . # . # . # # # # . #
# # # . # . . . . # . #
# . . . . # # # . # . .
# # # # . # . # . # . #
# . . # . # . # . # . #
# # . # . # . # . # . #
# . . . . . . . . # . #
# # # # # # . # # # . #
# . . . . . . # . . . #
# # # # # # # # # # # #

1 个答案:

答案 0 :(得分:1)

我没有解决你的问题。你发布的代码绝对没问题。比较两个素数是你可以做的最基本的事情,没有什么不好的。 您可以将Three Threecharbyteshortintlongdoublefloat进行比较没有任何问题。 ==内部被编号为数字。即使是这样的事情也是绝对可能的:

char

您的意思是不应该将对象与int i = 20 + 'A'; // Will be 85 as 'A' has the value 65 in ASCII char c = 'A' + 2; // Will be 'C' or 67 (position of C in ASCII) if(c == '#') { /* Do something */ } // Will execute if c is # 进行比较吗?因为这不会像你期望的那样表现。