【问题标题】:How to get an element's int value from a String matrix?如何从字符串矩阵中获取元素的 int 值?
【发布时间】:2019-05-30 00:09:53
【问题描述】:

我想从字符串矩阵中获取元素的 int 值。

我的任务是使用某种树或图搜索算法实现最简单的 Uniqual (https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/unequal.html) 版本。

这就是为什么我想将表格实现为字符串,因为它可以包含字符和数字。

这个方法我已经试过了: Character.isDigit(matrix[i].charAt(j)) 对于我的问题。我想这不是正确的方法。 也许如果我得到元素的 char 值,我可以实现一个简单的函数来检查它是数字还是数字或特殊字符。

【问题讨论】:

    标签: java


    【解决方案1】:

    我想这就是你要找的 -

    char c = matrix[i].charAt(j);
    int cVal = Character.getNumericValue(c);
    

    我更喜欢这种方法,因为如果c='1', cVal = 1.

    【讨论】:

    • 我对你的答案投了赞成票,但请清理(删除数字中的“a”)Character.getNumericaValue
    • 感谢你们俩的快速回复。现在我意识到我在这两种情况下的问题是当我尝试在矩阵上使用 char.At 方法时,我得到“无法解析方法'char.At(int)'”错误。矩阵被声明为字符串。它适用于一个简单的字符串。有什么想法吗?
    【解决方案2】:

    Character.isDigit(matrix[i].charAt(j)) 只是告诉您该字符是否为数字字符。要从字符中获取值,只需减去 0 的字符值

    int val = (int) (matrix[i].charAt(j) - (int)'0');
    

    【讨论】:

      猜你喜欢
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-28
      相关资源
      最近更新 更多