我只是想知道是否有更好的解决方案来解析字符串中的字符中的数字(假设我们知道索引n处的字符是数字).
String element = "el5";
String s;
s = ""+element.charAt(2);
int x = Integer.parseInt(s);
//result: x = 5
Run Code Online (Sandbox Code Playgroud)
(没用说,这只是一个例子)
我正在经历一些练习问题,我看到了这段代码:
#include <stdio.h>
#include <string.h>
int main(void) {
char* s = "357";
int sum = 0;
int i = 0;
for (i = 0; i < strlen(s); i++) {
sum += s[i] - 48;
}
printf("Sum is %d", sum);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释代码的作用,尤其是48部分的减法吗?
Integer.valueOf接受String和int作为参数但是当我通过时Character,它不需要强制转换并且编译器不强制执行任何操作。
字符不扩展String类,它只是实现Serializable和Comparable
Character charc = '1';
System.out.println(Integer.valueOf(charc));
System.out.println(Integer.valueOf(charc.toString()));
Run Code Online (Sandbox Code Playgroud)
输出:
49
1
Run Code Online (Sandbox Code Playgroud)
这不是设计缺陷还是我在错误的方向思考?当您拒绝投票时,请在评论中写下原因。