【发布时间】:2022-01-28 00:49:18
【问题描述】:
我一直在尝试做这个简单的程序,我需要检查整数的哪一位是最大的一位。所以我最初的想法是,我应该把它全部转换成一个数组,然后用 for 循环来检查数组的哪个元素是最大的。为了做到这一点,我将整数转换为字符串,然后将字符串的字符转换为数组的元素。我遇到了问题,我在网上寻找解决方案。我不明白为什么我需要“ temp.charAt(i) - '0'” 部分才能将字符串的字符存储为数组的元素。为什么不能只有arrTemp[i] = temp.charAt(i),没有“-'0'”部分。
String temp = Integer.toString(n);
int arrTemp[] = new int[temp.length()];
int max = arrTemp[0];
for(int i = 0; i<temp.length(); i++) {
arrTemp[i] = temp.charAt(i) - '0';
【问题讨论】:
-
阅读javadoc 以获得
String.toCharArray。您在 Internet (?) 上找到的解决方案过于复杂。 (记住:在网上发帖的人不一定知道他们在说什么……) -
“我不明白为什么我需要“ temp.charAt(i) - '0'” 部分才能将字符串的字符存储为数组的元素。 " - 出于您的目的,您不需要这样做。实际上所做的是将数字字符转换为整数的相应值;例如
'0'->0,以此类推。
标签: java arrays string integer