【问题标题】:How do I assign an integer value to a character? [duplicate]如何为字符分配整数值? [复制]
【发布时间】:2015-04-14 15:11:49
【问题描述】:

例如,如果我要说 c=4 和 d=4,那么 c*d=16?我正在从输入中读取 c 和 d 值。我的示例测试用例是:c = 45 d = 45。我已经将 c 存储到一个名为 charVal 的变量中,并将 45 存储到值中。当我插入诸如 charVal=value 之类的语句时,它会给我说类型不兼容的错误。我该怎么做?

【问题讨论】:

  • 为什么要将它存储在一个字符中?为什么不能 int 或 byte?有什么具体原因吗?
  • @DanielNugent 它给了我一个“_”一个输出。
  • 它实际上是-,这是45 的预期值。看一下ASCII表:asciitable.com

标签: java char integer stack


【解决方案1】:

你想使用地图。

java.util.Map 接口表示键和值之间的映射。

    Map<String, Integer> map = new HashMap<String, Integer>();
    map.put("c", 4);
    map.put("d", 4);
    System.out.println(map.get("c") + map.get("d"));

返回

8

【讨论】:

  • 当我尝试时它给出了一个意外的类型错误。
  • 对不起,int 应该是整数
  • @DexterMorgan 很高兴知道,您不能在 Generic 中使用原语 (int)。泛型必须从 java.lang.Object 派生。 Integer 可以,但 int 是一个原始类型,它不是。
  • 它给了我一个破折号,“-”。我不确定我哪里出错了。
  • 我刚刚运行它,它给了我 8。你一定有其他问题。
【解决方案2】:

您还可以使用 2D 数组,其中使用 row[0] column[0] 存储字符,使用 row[0] column[1] 存储整数,反之亦然,对于任何字符,您继续使用其各自的列值并相乘。

最后使用以下方法将您的二维字符串数组转换为 Int:

int y = Integer.parseInt(str);

希望有帮助:)

【讨论】:

  • 我已经在将输入字符串转换为整数。我的问题是如何为 char 赋值?例如,如果我有 C 作为 char,我如何说 c=4,当我做 c*c 时,我应该得到 16?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 2020-10-24
  • 2014-02-22
  • 2019-06-11
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
相关资源
最近更新 更多