请教Java中decrString函数的功能,我的理解是否正确?
关于decrString函数功能的确认
首先,若你提到的decrString函数是仅对字符串索引做累加的实现(示例如下):
public static int decrString(String input) { int sum = 0; for (int i = 0; i < input.length(); i++) { sum += i; } return sum; }
那你的理解完全正确——传入字符串"Hello"时,其长度为5,索引范围是0到4,求和结果为0+1+2+3+4=10,函数返回10。
但如果函数中用到了charAt(i)方法处理字符,功能就会完全不同。比如常见的类似实现:
public static int decrString(String input) { int sum = 0; for (int i = 0; i < input.length(); i++) { // 累加字符的ASCII码值 sum += input.charAt(i); } return sum; }
此时传入"Hello",会计算每个字符的ASCII码之和:72(H)+101(e)+108(l)+108(l)+111(o)=500,和你理解的索引求和完全无关。
总结一下:
- 若函数仅累加循环索引值,功能为返回字符串所有索引的数值之和;
- 若函数通过
charAt(i)获取字符并参与计算,功能为返回字符串对应字符的ASCII码(或字符转换后数值)之和。
内容的提问来源于stack exchange,提问作者Darya Rioux
相关产品推荐
相关产品推荐

