一个字符串中,截取其奇数位字符来组成一个新的字符串!(使用代码最少!)

解决方案 »

  1.   

    String token = "sdfjaklfjsdklfjklsdjfkljskl";
    StringBuffer sb = new StringBuffer();
    for( int i = 0 ; i < token.toCharArray().length; i++ ) {
    if( i % 2 == 1 ) {
    sb.append(token.toCharArray()[i]);
    }
    }
    System.out.println(sb.toString());
      

  2.   

    对1楼稍作修改
            String token = "sdfjaklfjsdklfjklsdjfkljskl";
            StringBuffer sb = new StringBuffer();
            for( int i = 1 ; i < token.toCharArray().length; i+=2 ) {
                sb.append(token.toCharArray()[i]);
            }
            System.out.println(sb.toString());
      

  3.   

    谢谢各位!
    String s="";
    for(int i=0;i<s.length();i++){
    if(i%2==0){
    s=s+s.charAt(i);
    }
    }
    小弟的这个行不?
      

  4.   

    不行,i%2==0得到的是偶数
    String str="abcdefghijklmnopqrstuvwxyz";
    String result="";
    for(int i=1;i<str.length();i++){
      if(i%2!=0){
         result+=str.charAt(i);
      }
    }
      

  5.   

     String token = "sdfjaklfjsdklfjklsdjfkljskl";
            StringBuffer sb = new StringBuffer();
            for( int i = 1 ; i < token.length(); i+=2 ) {//这样写不行吗?为什么要把字符串转成数据呢?
                sb.append(token.toCharArray()[i]);
            }
            System.out.println(sb.toString());
      

  6.   


    楼上这样是偶数位的吧
    得到奇数位的应该for(int i=0;i<token.toCharArray().length;i+=2)
      

  7.   

    用StringBuffer, 在For循环中自增2
      

  8.   

    三楼使用StringBuffer效率会更快啊!
      

  9.   

    非常赞同采用stringBuffer类,这个类的实际成员是个集合,而不是像String类的是个char[]数组,每次都要重新构建,这样效率提高了不少了。顶三楼哈!~
      

  10.   

    对1楼稍作修改    public static String getStr(String s) {
           // String token = "sdfjaklfjsdklfjklsdjfkljskl";
            StringBuffer sb = new StringBuffer();
            for( int i = 1 ; i < s.toCharArray().length; i+=2 ) {
                sb.append(s.charAt(i));
            }
            return sb.toString();
    }是否可以这样理解:传参数 i为奇数
    public static String getStr(int i,String s ){
    StringBuffer sb = new StringBuffer();
    sb.append(s.substring(0, i));
    return sb.toString();}