if(s.charAt(i)-✀0✀==digit) 这个是什么意思?详细点~谢谢。

2025年03月01日 06:22
有3个网友回答
网友(1):

加上单引号的:‘0’代表一个字符;
s.charAt(i)方法:返回指定索引位置的字符;
s.charAt(i)-'0':两个字符相减实际上是ASCII码对应的数相减;
s.charAt(i)-'0'==digit:也就是s.charAt(i)-'0'的结果对应的ASCII码值(整数)与 digit(整数)是否相等。
这段程序的作用 为:判断给定的一组长整数中包含对少个给定的整数,比如12311中有多少个1,返回值为:3。

网友(2):

charAt(i)是字符串中的第i个字符,s.charAt(i)就是S中的第i个字符,因为字符都是用ASCII码存储的,存储的事ASCII码值,用s.charAt(i)减去字符‘0’,就是用s.charAt(i)的码值减去‘0’的码值,得到的值干好就是s中第i个字符的十进制值。所以该句是判断s中第i个字符的十进制值是否等于digit

网友(3):

charAt(i)取i位置的字符 放在for循环里 把字符串遍历,取每个字符 。
s.charAt(i)-'0' 是去取字符的uincode值, digit整型对应的也是个字符。

这段代码就是计算出unicode值是digit的字符的个数。