谢谢大家可怜小弟,进来看看!小弟做梦 梦见开始有一道考这样的试题!编写与String.subString(int length)同样功能的函数 谢谢大家的解答 ,小弟在线等一下,小弟在此谢谢大家啊!

解决方案 »

  1.   

    至于裸体跪求吗?
    只提供下思路好了
    1 String转成char数组
    2 取char数组的前length个元素组成新的数组
    3 新的数组生成String
      

  2.   


    至于裸体跪求吗? 
    只提供下思路好了 
    1 String转成char数组 
    取char数组的第length个元素(从0开始)以后组成的新数组 
    3 新的数组生成String
      

  3.   

    或者用这个构造方法
    String(char[] value, int offset, int count) 
      

  4.   

    给你参考一下:
    public class MyString { private String srcStr;

    public MyString(String src) {
    srcStr = src;
    }

    public String subString(int len) {
    if (len < 0) return null;
    if (len >= srcStr.length())
    return new String(srcStr);
    char[] buff = new char[len];
    System.arraycopy(srcStr.toCharArray(), 0, buff, 0, buff.length);
    return new String(buff);
    }


    public static void main(String[] args) {
    System.out.println(new MyString("Hello, world!").subString(5));
    }}
      

  5.   

    1 String转成char数组 
    2 取char数组的第length个元素(从0开始)以后组成的新数组 
    3 新的数组生成String
      

  6.   

    正解,字符串的截断我们一般用char的方法较多
      

  7.   


    //直接看API
    /** The value is used for character storage. */
        private final char value[];    /** The offset is the first index of the storage that is used. */
        private final int offset;    /** The count is the number of characters in the String. */
        private final int count;
    public String substring(int beginIndex) {
    return substring(beginIndex, count);
        }
    public String substring(int beginIndex, int endIndex) {
    if (beginIndex < 0) {
        throw new StringIndexOutOfBoundsException(beginIndex);
    }
    if (endIndex > count) {
        throw new StringIndexOutOfBoundsException(endIndex);
    }
    if (beginIndex > endIndex) {
        throw new StringIndexOutOfBoundsException(endIndex - beginIndex);
    }
    return ((beginIndex == 0) && (endIndex == count)) ? this :
        new String(offset + beginIndex, endIndex - beginIndex, value);
        }
      

  8.   

    提供思路,
    1、转换成char数组
    2、new一个数组,长度是,原数组长度-length
    3、使用System.arraycopy,copy数组数据
    4、将char数组再转换成字符串不过觉得这个做法有点sb。绕了半天,最后还是这个结果。
      

  9.   

    顶顶顶,忒好的贴啦!不错,不过我想去提升下自己,有时候好多问题也处理不了,金融危机到了,这边事情也不多,大家有知道关于这方面的学习吗?深造下,呵呵,学3G这方面的 内容也不错,我想针对这块学点通信里面用的JAVA,上次去了一个乐成数字通信学院了解过,有周末班,还不错!
      

  10.   

    呵呵, 看到这个题目就想到容器list。
      

  11.   

    555555555555............LZ太另人感动了。不过,还是快进去吧。别冻傻了。
    咱们是学Java的啊。而Java是开源的啊。人家那是一堆人想的办法。或许别咱们一个人想的好。
    呵呵.....我也是新手。共同学习哈!
      

  12.   

    1 String转成char数组 
    2 取char数组的第length个元素(从0开始)以后组成的新数组 
    3 新的数组生成String
      

  13.   

    回答的都差不多了 我就吧System.arrayCopy的api贴一下, 帮助LZ理解上面的内容    public static native void arraycopy(Object src,  int  srcPos,
                                            Object dest, int destPos,
                                            int length);
      

  14.   

    哥们支持,同样是学习的人,怎么差距都这么大呢,做梦都能敲代码,呵呵
    如果有需要给你推荐一个老师:www.ldci.com.cn,找李老师,来自盛大的,呵呵