calss test
{
public static void main(String[] args)
{
String str="中国人";
System.out.println(str.substring(0,0));}
-----------------------------------
谁来解释一下啊为什么输出结果不是“中”,而是什么都没有。
{
public static void main(String[] args)
{
String str="中国人";
System.out.println(str.substring(0,0));}
-----------------------------------
谁来解释一下啊为什么输出结果不是“中”,而是什么都没有。
但是,前面一个开始位置是包含,后面一个开始位置是不包含你需要(0,1)
结束至0这不就没动吗。
这样才会输出“中”
System.out.println(str.substring(0,0));这样是找不到的,第一个参数代表字符串下标。
int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,一直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例: "hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
参数:
beginIndex - 开始处的索引(包括)。
endIndex - 结束处的索引(不包括)。
返回:
指定的子字符串。
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。
楼主请细读API
System.out.println(str.substring(0,0));//无
System.out.println(str.substring(0,1));//显示第一个从0开始
System.out.println(str.substring(0,2));//显示第2个从0开始
System.out.println(str.substring(0,3));//显示第3个从0开始
System.out.println(str.substring(1,3));//显示第3个从0开始
System.out.println(str.substring(2,3));//显示第2和3个从0开始
System.out.println(str.substring(3,3));//显示第3个从0开始