遇到个问题,向高手请教一下:有个String,"For your love" 需要转换,第一步,去掉空格,变成"foryourlove"
第二步,去掉重复的字符,变成"foryulve"
第三步,添加除了"foryulve"以外剩下的26个字符.变成"foryulveabcdghigkmnpqstvwxz"请问该如何解决,在线等~
第二步,去掉重复的字符,变成"foryulve"
第三步,添加除了"foryulve"以外剩下的26个字符.变成"foryulveabcdghigkmnpqstvwxz"请问该如何解决,在线等~
1。用String 下的split(" ");去掉空格
2
3。
自己查文档,要学方法,而不是代码,String 这个类都能解决
第二步正在研究,
第三步.......
{
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
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());
}
}
你的运行结果是:
foryourlove
foryulve
foryourlovewtdjqkismgnczax
第二步,去掉重复的字符,变成"foryulve"
第三步,添加除了"foryulve"以外剩下的26个字符.变成"foryulveabcdghigkmnpqstvwxz"