随笔-9  评论-15  文章-1  trackbacks-0
  String subString(String str, int i) {
    String strReturn 
= "";
    
if (str.equals(""|| str == null || i == 0{
      
return "";
    }

    
for (int j = 1; j <= str.length(); j++{
      String temp 
= "";
      temp 
= str.substring(0, j);
      
if (temp.getBytes().length >= i) {
        
if (temp.substring(j - 1, j).getBytes().length == 1{
          strReturn 
= temp;
        }

        
else {
          strReturn 
= str.substring(0, j - 1);
        }


        
break;
      }


    }


    
return strReturn;
  }


以上是java面试题:
“编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节数
但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。 ”
posted on 2005-08-22 14:25 jam 阅读(6798) 评论(8)  编辑  收藏

评论:
# re: java面试题之一 2008-02-18 16:41 | ows
fjdsafdsafdsafdsafkdsaf  回复  更多评论
  
# re: java面试题之一 2008-03-01 08:45 |
这句话有错误,
if (str.equals("") || str == null || i == 0) {

应为
if (str == null ||str.equals("") || i == 0) {

不然有可能是空java.lang.NullPointerException的错误  回复  更多评论
  
# re: java面试题之一 2008-03-01 15:05 | 78687918
这样的话
"我ab",2
能把我截出来吗  回复  更多评论
  
# re: java面试题之一[未登录] 2008-04-15 17:17 | joy
这个是错误的,请不要误导人  回复  更多评论
  
# re: java面试题之一[未登录] 2008-04-16 09:18 | joy
我测试了一下,你那答案有点问题,你看是不是应该改为:

public String subString(String str, int i) {
String strReturn = "";
if ( str == null || str.equals("") || i == 0) {
return "";
}

for (int j = 1; j <= str.length(); j++) {
String temp = "";
temp = str.substring(0, j);
if(temp.getBytes().length >= i){
strReturn = temp;
break;
}
}
System.out.println(strReturn);
return strReturn;
}  回复  更多评论
  
# re: java面试题之一 2008-04-25 13:47 | kawang
“编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节数
但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。 ”
String subString(String str, int i) {
String strReturn = "";
if ( str == null ||str.equals("") || i == 0) {
return "";
}
for (int j = 1; j <= str.length(); j++) {
String temp = "";
temp = str.substring(0, j);
if (temp.getBytes().length >= i) {
if (temp.substring(j - 1, j).getBytes().length == 1) {
strReturn = temp;
}
else {
If(j==1){
strReturn=temp;
}else{
strReturn = str.substring(0, j - 1);
}

break;
}

}

return strReturn;
}
  回复  更多评论
  
# re: java面试题之一 2008-08-03 12:06 | 暗暗
恩 5楼的很好,,,很强大```  回复  更多评论
  
# re: java面试题之一 2008-08-16 12:52 | jixinz
public static String subString(String str, int i) {
String strReturn = "";
if ( str == null || str.equals("") || i == 0) {
strReturn = "";
} else if(str.getBytes().length<=i){
strReturn = str;
} else {
for(int j=1; j<=str.length(); j++){
String temp = str.substring(0, j);
if(temp.getBytes().length == i){
strReturn = temp;
break;
} else if(temp.getBytes().length > i) {
strReturn = temp.substring(0, temp.length()-1);
break;
}
}
}
return strReturn;
}  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: