預備知識:
0表示整數,'0'表示0字符,'\0'表示ASCII碼值爲0的字符
如果是 “字符串數組” 轉 “字符串”,只能通過循環,沒有其它方法
String[] str = {"abc", "bcd", "def"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++){
sb. append(str[i]);
}
String s = sb.toString();
如果是 “字符數組” 轉 “字符串” 可以通過下邊的方法
String st=new String(c,0, l); //第一個位置爲字符數組名字,第二個爲開始的位置,第三個爲字符數組的長度
return st;
1.蠻力法。(最簡單的方法是把字符串看成一個字符數組,對該字符數組使用雙重循環遍歷,如果發現有重複的字符,就把該字符置爲'\0',最後再把這個字符數組中所有的'\0'去掉,此時得到的字符串就是刪除重複字符後的目標字符串)public class Test {
public static void main(String args[]){
String str="abcaabcd";
str=removeDuplicate(str);
System.out.print(str);
}
private static String removeDuplicate(String str) {
char[] c=str.toCharArray(); //把字符串str轉化爲字符數組c[]
int len=c.length;
for(int i=0;i<len;i++){
if(c[i]=='\0')
continue;
for(int j=i+1;j<len;j++){
if(c[j]=='\0')
continue;
if(c[i]==c[j])
c[j]='\0';
}
}
int l=0;
for(int i=0;i<len;i++){ //得到每個元素只有一個的字符數組c[]
if(c[i]!='\0')
c[l++]=c[i];
}
System.out.println("l表示的是字符串的個數:"+l);
//將字符數組轉化爲字符串兩種方法
/*
String st=new String(c,0, l); //第一個位置爲字符數組名字,第二個爲開始的位置,第三個爲字符數組的長度
return new String(st);
*/
return new String(c,0,l); //第一個位置爲字符數組名字,第二個爲開始的位置,第三個爲字符數組的長度
}
}