gpt4 book ai didi

java - java中的字符转换

转载 作者:行者123 更新时间:2023-12-02 12:20:10 25 4
gpt4 key购买 nike

在我的java代码中我有

result.append((num%b2)>=10?((char)('A'+((num%b2)-10))):(num%b2));

其中 num 和 b2 都是整数。当num%b2大于等于10时

((char)('A'+((num%b2)-10)))

附加到字符串生成器结果中。然而,它不是附加一个字符,而是附加一个 int 值和我想要返回的字符的 ASCII 数字。为什么它不返回字符?

最佳答案

这是因为 (num%b2) 是一个 int

条件表达式的类型是可以表示两个操作数的通用类型。那么,如果“true”操作数是 char 但“false”操作数是 int,则 someCondition 的结果是什么? someChar : someInt 是一个 int

如果你把它写成一个普通的旧式 if-else 语句,会更清晰:

if (num%b2 >= 10) {
result.append((char)('A'+((num%b2)-10)));
} else {
result.append(num%b2);
}

关于java - java中的字符转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45849747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com