题目1:
编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。
lsqString类:
package ccut.java.lsq;
**字符串操作类包含两个方法1、计算字符串中字符串出现次数并输入该字符串以及出现次数2、求每个字符在字符串中出现次数。
*/
public class lsqString {
int scarchStr(String str1, String str2) {
int count = 0;
while (str1.indexOf(str2) != -1) {
int i = str1.indexOf(str2);
count++;
str1 = str1.substring(i + 1);
}
System.out.println(str2 + ":" + count);
return count;
}
void sameStr(String str) {
String temp;
while (str.length() != 0) {
temp = str.substring(0, 1);
this.scarchStr(str, temp);
str = str.replaceAll(temp, "");
}
}
}
Test主类:
package ccut.java.lsq;
/**测试*
/
import java.util.*;
public class Test {
public static void main(String[] args) {
String str;
Scanner scanner = new Scanner(System.in);
str = scanner.next();
lsqString stropt = new lsqString();
stropt.sameStr(str);
}
}
题目2:
编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba
lsqstr类:
package ccut.java.lsq.huiwen;
/**字符串判断是否是回文数
*
*/
public class lsqstr {
Boolean isPlalindrome(String str) {
str = this.getAtoz(str);
int starts = 0;
int ends = str.length() - 1;
while (starts < ends) {
if (str.charAt(starts) == str.charAt(ends)) {
starts++;
ends--;
} else {
return false;
}
}
return true;
}
String getAtoz(String str) {
StringBuffer str1 = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z' || str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
str1.append(str.charAt(i));
}
return new String(str1);
}
}
Test类:
package ccut.java.lsq.huiwen;
/**测试类*
*
*/
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
lsqstr lsqStr = new lsqstr();
if (lsqStr.isPlalindrome(str)) {
System.out.println(str + "中的字母是回文");
} else {
System.out.println(str + "中的字母不是回文");
}
}
}