【发布时间】:2016-08-27 10:22:35
【问题描述】:
我想要做的是取一串数字,如“8675309”,然后根据字符串中的不同数字进行一些数学运算。我很乐意得到 8, 6, 7, 5, 3, 0, 9 然后使用索引,但到目前为止它们似乎给出了奇怪的数字(比如 51)。我只是想结束 myArray[0] + myArray[3] = output(这个例子是 8+5=13)
我拥有 6 本关于 Java 的书籍,但没有一本涵盖这一点。在网络上超过 6 小时(谷歌、stackoverflow、youtube 等),我在任何地方都找不到这个。 - 无论我如何搜索,我都会得到所有结果。
从已经填充的数组到已经定界的字符串,再到从字符串中丢弃除数字之外的所有内容,等等......
我尝试使用/修改我发现的内容,我能想到的最好的结果是 eclipse 对我大喊大叫,无法将 char 转换为 int。
String str = cn;
char[] charArray = str.toCharArray();
String number = String.valueOf(cn);
int[] digits1 = number.toCharArray();
int newInt = charArray[0];
System.out.println(newInt);
“线程“主”java.lang.Error 中的异常:未解决的编译问题: 类型不匹配:无法从 char[] 转换为 int[]"
【问题讨论】:
-
您可以将
char分配给int,但不能将char[]分配给int[]。你读过你的那6本书吗? -
int[] digits = str.chars().map(n -> n - '0').toArray(); -
@TimBiegeleisen 哇,找到多年前的副本真是太好了!我已经忘记了我已经回答了这个问题(而且我的旧答案也已经过时了)。谢谢!
标签: java arrays string char int