class SubStr{
public static String sub(String src, int num){
char[] c = src.toCharArray();
int i = 0, n = 0;
for( ; n <= num; i++){
if(c[i] > 128)
n += 2;
else
n++;
if(n == num)
return new String(c, 0, i+1);
else if(n - num == 1)
return new String(c, 0, i);
}//在这里提示缺少返回值!!!!!!!!!!!!!!不明白.
}
public static void main(String[] args){
System.out.println(sub("电脑a的dsfdfi", 6));
}
}
public static String sub(String src, int num){
char[] c = src.toCharArray();
int i = 0, n = 0;
for( ; n <= num; i++){
if(c[i] > 128)
n += 2;
else
n++;
if(n == num)
return new String(c, 0, i+1);
else if(n - num == 1)
return new String(c, 0, i);
}//在这里提示缺少返回值!!!!!!!!!!!!!!不明白.
}
public static void main(String[] args){
System.out.println(sub("电脑a的dsfdfi", 6));
}
}
return new String(c, 0, i+1);
else if(n - num == 1)
return new String(c, 0, i);
else ...... 少了个else
to二楼,我加上else还是不行啊!!!
class SubStr{
public static String sub(String src, int num){
char[] c = src.toCharArray();
int i = 0, n = 0;
String szRet = null;
for( ; n <= num; i++){
if(c[i] > 128)
n += 2;
else
n++;
if(n == num)
szRet = new String(c, 0, i+1);
else if(n - num == 1)
szRet = new String(c, 0, i);
}
return szRet;
}
public static void main(String[] args){
System.out.println(sub("电脑a的dsfdfi", 6));
}
}