【发布时间】:2017-09-08 15:59:49
【问题描述】:
我有一个任务是重复字符乘以它,例如用户应该写出重复输入的字母和数字 3 R 输出
RRR
输入6O输出
OOOOOO
而且应该只有一个字母 我用过字符串,但我可以用 char 吗?我该怎么做? 为什么当乘以字符时结果是数字? 例如 char*3 结果是 246
我是java新手
【问题讨论】:
我有一个任务是重复字符乘以它,例如用户应该写出重复输入的字母和数字 3 R 输出
RRR
输入6O输出
OOOOOO
而且应该只有一个字母 我用过字符串,但我可以用 char 吗?我该怎么做? 为什么当乘以字符时结果是数字? 例如 char*3 结果是 246
我是java新手
【问题讨论】:
char 由 UTF-16 值(无符号短)表示。当您在算术中使用char 时,会使用其UTF-16 值。
如果你想重复char,你可以使用这样的东西:
String.join("", Collections.nCopies(6, 'O'));
>> "OOOOOO"
将此方法与char 一起使用的一个缺点是每个原语都被装箱到Character 包装器类中,因此您最好使用String 来产生相同的结果。
【讨论】:
char 与 ASCII 有任何关系,那将是正确的。它没有。 Java 的文本数据类型使用 Unicode 字符集的 UTF-16 编码。