java简单问题

2024-11-29 21:45:46
推荐回答(3个)
回答1:

1、第一个是返回指定索引处的字符的ASCII码值,也就是返回b的ASCII码
2、返回字符串str中指定的范围(从1到36)一共有多少个代码点(应该就是ASCII码)
3、函数是这样的public int offsetByCodePoints(int index, int codePointOffset),表示返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引,例子如下:
public static void main(String args[]) {
String str = "The quick brown fox jamps a red lazy dog";
int a =str.offsetByCodePoints(1, 36);
System.out.print(a);
}
输出是37
表示返回字符串str中,从索引为1的位置开始,偏移36也就是加上36,得到37

回答2:

codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)
offsetByCodePoints(int index,int codePointOffset)返回此String 中从给定的 index 处偏移 codePointOffset 个代码点的索引

回答3:

1. codePointAt
public int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点即ASCII 码值),index是从0开始计算的,所以a.codePointAt(1)就是b的ASCII 码值即98
2. codePointCount
public int codePointCount(int beginIndex, int endIndex)返回此 String 的指定文本范围中的 Unicode 代码点数。文本范围始于指定的 beginIndex,一直到索引 endIndex - 1 处的 char。因此,该文本范围的长度(用 char 表示)是 endIndex-beginIndex。该文本范围内每个未配对的代理项计为一个代码点。
参数:
beginIndex - 文本范围的第一个 char 的索引。
endIndex - 文本范围的最后一个 char 之后的索引。
返回:指定文本范围中 Unicode 代码点的数量
抛出: IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 的长度,或 beginIndex 大于 endIndex。
从1.5版本开始

3. offsetByCodePoints
public int offsetByCodePoints(int index,int codePointOffset)返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。文本范围内由 index 和 codePointOffset 给定的未配对代理项各计为一个代码点。
参数:
index - 要偏移的索引
codePointOffset - 代码点中的偏移量
返回:String 的索引
抛出: IndexOutOfBoundsException - 如果 index 为负或大于此 String 的长度;或者 codePointOffset 为正,且以 index 开头子字符串的代码点比 codePointOffset 少;如果 codePointOffset 为负,且 index 前面子字符串的代码点比 codePointOffset 的绝对值少。
从1.5 版本开始