gpt4 book ai didi

java - 从 CharArray 计算数字

转载 作者:行者123 更新时间:2023-11-29 03:04:20 26 4
gpt4 key购买 nike

我有以下代码

 private static int getYear(char[] charArray)
{
return (int)charArray[0] * 1000 + (int)charArray[1] * 100 + (int)charArray[2] * 10 + (int)charArray[3];
}

这段摘录从一个 4 元素的字符数组中计算出一个数字。从“2015”开始有 55343。

有什么建议吗?

最佳答案

假设练习的目的不是使用StringparseInt,您需要将字符'0'转换为'9' 转换为数字 09。这是通过减去字符 '0' 完成的,因此您得到:

private static int getYear(char[] charArray)
{
return (charArray[0] - '0') * 1000
+ (charArray[1] - '0') * 100
+ (charArray[2] - '0') * 10
+ (charArray[3] - '0');
}

这是因为 Java 以 Unicode 字符存储字符串。 Unicode 是 ASCII 字符集的(巨大)扩展。

查看此维基百科页面上的 ASCII 可打印字符:https://en.wikipedia.org/wiki/ASCII#ASCII_printable_code_chart

如您所见,0 的字符(字形)的十进制值为 48149, ..., 957

因此,将具有字符 '0'char 转换为 int 将产生值 48 .那我们就靠'0''9'这几个字符是连续的,所以减去48('0'的值) ) 将产生 09,这正是我们想要的。

关于java - 从 CharArray 计算数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32829010/

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