
Java题,20分
7:编程:编写一个截取字符串的方法,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉D...
7:编程:编写一个截取字符串的方法,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6, 应该输出为"我ABC"而不是"我ABC+汉的半个"。
可能用到正则表达式。不过可以使用任何方法,能达到目的即可。 展开
可能用到正则表达式。不过可以使用任何方法,能达到目的即可。 展开
1个回答
展开全部
public class StringTest {
public String str(String s, int a) {
char c;
int count = 0;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
c = s.charAt(i);
if (c >= -127 && c <= 128) {
count++;
} else {
count += 2;
}
if (a >= count) {
sb.append(c);
} else {
break;
}
}
return sb.toString();
}
public static void main(String[] args) {
StringTest t = new StringTest();
System.out.println(t.str("我gd",5));
}
}
public String str(String s, int a) {
char c;
int count = 0;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
c = s.charAt(i);
if (c >= -127 && c <= 128) {
count++;
} else {
count += 2;
}
if (a >= count) {
sb.append(c);
} else {
break;
}
}
return sb.toString();
}
public static void main(String[] args) {
StringTest t = new StringTest();
System.out.println(t.str("我gd",5));
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询