黑马程序员技术交流社区
标题:
帮忙看下我写的代码有错误吗 哪里还需要注意的
[打印本页]
作者:
王先荣
时间:
2015-5-15 13:52
标题:
帮忙看下我写的代码有错误吗 哪里还需要注意的
package com.itcast.wang;
/*
*
* 1、编写一个截取字符串的函数,输入为一个字符串和字节数,
* 输出为按字节截取的字符串。但是要保证汉字不被截半个,
* 如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",
* 6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
*
* */
public class Test10 {
public static void main(String[] args){
GetSubstring gsb=new GetSubstring();
String s="你××× is good boy";
System.out.println(gsb.getSubstring(s,122));
}
}
class GetSubstring{
public String getSubstring(String s,int i){
byte[] bys=new byte[i];
byte[] by=s.getBytes();
if(i>by.length){
// System.out.println("您输入的值已经大于这个字符串的长度了 后面的不能截取,请您重新运行程序:");
return "您输入的值已经大于这个字符串的长度了\r 后面的不能截取,\r请您重新运行程序:";
}
// System.out.println(Arrays.toString(by));
//先找出从0到i(不包括i)之间有多少负数
int count=0;
for(int x=0;x<i;x++){
if(by[x]<0) count++;
}
//判断负数的个数,如果能被整除,就取到i-1否则取到i-2
int y;
if(count%2==0)
y=i-1;
else y=i-2;
//找到我们想要的字节赋值到另一个数组
for(int j=0;j<=y;j++){
bys[j]=by[j];
}
return new String(bys);
}
}
作者:
Mr7952
时间:
2015-5-15 19:58
这个版主给力啊,
作者:
youngzk
时间:
2015-5-15 21:29
写的好多啊
作者:
王先荣
时间:
2015-5-18 11:20
Mr7952 发表于 2015-5-15 19:58
这个版主给力啊,
谢谢~~~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2