遇到个问题,向高手请教一下:有个String,"For your love" 需要转换,第一步,去掉空格,变成"foryourlove"
第二步,去掉重复的字符,变成"foryulve"
第三步,添加除了"foryulve"以外剩下的26个字符.变成"foryulveabcdghigkmnpqstvwxz"请问该如何解决,在线等~

解决方案 »

  1.   

    兄弟记住一句话,查帮助文档
    1。用String 下的split(" ");去掉空格
    2
    3。
    自己查文档,要学方法,而不是代码,String 这个类都能解决
      

  2.   

    第一步已经用replaceAll(" ","")解决,
    第二步正在研究,
    第三步.......
      

  3.   

    最笨的办法,用for循环一遍一遍的遍历吧...
      

  4.   

    答:代码给你参考:public class DeleteString { public static String deleteChar(String s)
    {
    s=s.toLowerCase().replaceAll(" ", "");//删除空串
    StringBuilder sb=new StringBuilder(s);
    for(int i=0;i<sb.length();i++)
    {
    int pos=-1;
    while((pos=sb.indexOf(""+sb.charAt(i),i+1))!=-1)
    {
    sb.deleteCharAt(pos);
    }
    }//去掉重复的字符

    for(char c='a';c<='z';c++)
    {
    if(sb.indexOf(""+c)==-1)
    {
    sb.append(c);
    }
    }//添加以外剩下的26个字符

    return sb.toString();
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
        System.out.println(deleteChar("For your love"));
    }}运行结果:foryulveabcdghijkmnpqstwxz
      

  5.   


    package csdn;import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Random;public  class TestPipeStream { 
    /**
     * 第一步,去掉空格,变成"foryourlove" 
    第二步,去掉重复的字符,变成"foryulve" 
    第三步,添加除了"foryulve"以外剩下的26个字符.变成"foryulveabcdghigkmnpqstvwxz" 
     * */
    public static void main(String[] args) {
    //第一
    String old = "foryourlove" ;
    String old_1 = old.replace("\\s+", "");
    System.out.println(old_1);
    //第二
    StringBuilder sb_1 = new StringBuilder(old_1);
    char[] c = old_1.toCharArray();
    for(int i=0;i<c.length;i++) {
    int index = sb_1.indexOf(String.valueOf(c[i]), i+1);
    if(index!=-1) {
    sb_1.deleteCharAt(index);
    }
    }
    System.out.println(sb_1.toString());

    // 第三
    StringBuilder sb = new StringBuilder(old_1);
    Random r = new Random();
    List<String> list = new ArrayList<String>();
    while(sb.length()!=26) {
    int i = r.nextInt(26)+97;
    Arrays.sort(c);
    char c1 = (char)i;
    int ii = Arrays.binarySearch(c, c1);
    if(!(0<=ii&&ii<sb.length())&&!list.contains(String.valueOf(c1))){
    sb.append(c1);
    list.add(String.valueOf(c1));
    }
    }
    System.out.println(sb.toString());
    }
    }
      

  6.   

    答:Kimi,你的重复字符删除部分有些问题啊.请再修改一下程序吧.
    你的运行结果是:
    foryourlove
    foryulve
    foryourlovewtdjqkismgnczax
      

  7.   

    第一步,去掉空格,变成"foryourlove" 
        第二步,去掉重复的字符,变成"foryulve" 
        第三步,添加除了"foryulve"以外剩下的26个字符.变成"foryulveabcdghigkmnpqstvwxz"