1.String 的截取
//操作的字符串
String str="qeqwe:rwqr";
//split截取,通過數(shù)組的方式
String split[] = str.split(":");
System.out.println(split[0]);
System.out.println(split[1]);
2.統(tǒng)計(jì)字符個(gè)數(shù)
// 操作的字符串
String str = "qwewqewqrsfdsfg";
//將字符串轉(zhuǎn)換為byte數(shù)組
byte[] bytes = str.getBytes();
//外循環(huán),按下標(biāo)順序取1個(gè)
for (int i = 0; i < bytes.length; i++) {
//定義一個(gè)變量保存這個(gè)字符出現(xiàn)的次數(shù)
int count = 0;
for (int j = 0; j < bytes.length; j++) {
// 如果一樣
if (bytes[i] == bytes[j]) {
// 出現(xiàn)次數(shù)+1
count++;
}
}
// 因?yàn)閎yte類型輸出是ASCII碼,所以強(qiáng)轉(zhuǎn)為char類型
char c = (char) bytes[i];
// 輸出
// 一定是在內(nèi)循環(huán)結(jié)束后輸出,這樣下次外循環(huán)開始以后count就會清零
System.out.println(c + " 有 " + count + " 個(gè) ");
}
3.第一個(gè)重復(fù)
String inputStr = "teterhrecd";
HashMap<String, String> hm = new HashMap<String, String>();
char[] c = inputStr.toCharArray();
boolean isEcho = false;
for(int i = 0 ; i < c.length; i++) {
for(int j = i+1 ; j < c.length; j++) {
if(c[i] == c[j]) {
isEcho = true;
hm.put(String.valueOf(c[i]), String.valueOf(c[i]));
break;
}
}
/* if(isEcho||hm.get(String.valueOf(c[i])) == null) {
System.out.print("第一個(gè)重復(fù)的字符"+c[i]);
break;
} */
if(!isEcho&&hm.get(String.valueOf(c[i])) == null) {
System.out.print("第一個(gè)不重復(fù)的字符"+c[i]);
break;
}
isEcho = false;
}
4.兩個(gè)字符串間的重復(fù)
Scanner in=new Scanner(System.in);
String s1,s2;
try{
System.out.print("請輸入第一個(gè)字符串:");
s1=in.nextLine();
System.out.print("請輸入第二個(gè)字符串:");
s2=in.nextLine();
getSameChar(s1,s2);
}
catch(Exception e){
e.printStackTrace(); }
}
public static void getSameChar(String s1,String s2){
char c;//相同字符
char[] same=s1.toCharArray();//數(shù)組same用于控制:如果s1字符串中有相同的字符,則只輸出一次
//如s1為aabc s2為a 則只輸出1次a 而不是兩次
int count=0,j;//與數(shù)組same相關(guān)的變量
int i,k;//循環(huán)變量
System.out.println(s1+"與"+s2+"相同的字符有");
for(i=0;i<s1.length();i++){
c=s1.charAt(i);
out:for(k=0;k<s2.length();k++){
if(c==(s2.charAt(k))){
for(j=0;j<count;j++){//如果字符c已經(jīng)被打印過,則直接跳出循環(huán),查找下一個(gè)
if(c==same[j])
break out;//跳出被out標(biāo)記的循環(huán)
}//如果字符c是第一次出現(xiàn),則把它添加進(jìn)數(shù)組same
same[count]=c;
count++;
//如果字符c是第一次出現(xiàn),將其打印出來
if(c==' '){
System.out.println("空格鍵");
break;
}
System.out.println(c);
break;
}
}
}
}
}
5.字母數(shù)字判斷
int numbers,capitalLetters,smallLetters,others;
numbers=capitalLetters=smallLetters=others=0;
System.out.print("Please input a string:\n");
Scanner s=new Scanner(System.in);
String str=s.next();
System.out.println("Your string is:"+str);
for(int i=0;i<str.length();i++)
{//每次截取一個(gè)字符
char c=str.charAt(i);
//循環(huán)判斷是否是小寫字母
if(Character.isLowerCase(c))
{ smallLetters++;
}
else if(Character.isDigit(c))
{ numbers++;
}
else if(Character.isUpperCase(c))
{ capitalLetters++;}
else {
others++;
}
}
System.out.println("數(shù)字 ="+numbers);
System.out.println("大寫字母 ="+capitalLetters);
System.out.println("小寫字母 ="+smallLetters);
System.out.println("其他="+others);
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。