第11次作业--字符串处理
题目1:
编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。
代码:
字符串统计类:
1 package 字符串统计; 2 3 /** 4 * 5 * 字符串操作类包含两个方法1、计算字符串中字符串出现次数并输入该字符串以及出现次数2、求每个字符在字符串中出现次数。 6 */ 7 public class StrOpt { 8 int scarchStr(String str1, String str2) { 9 int count = 0; 10 while (str1.indexOf(str2) != -1) { 11 int i = str1.indexOf(str2); 12 count++; 13 str1 = str1.substring(i + 1); 14 } 15 System.out.println(str2 + ":" + count); 16 return count; 17 } 18 19 void sameStr(String str) { 20 String temp; 21 while (str.length() != 0) { 22 temp = str.substring(0, 1); 23 this.scarchStr(str, temp); 24 str = str.replaceAll(temp, ""); 25 } 26 } 27 28 }
测试类:
1 package 字符串统计; 2 3 import java.util.Scanner; 4 5 /** 6 * 测试类 7 * 8 */ 9 public class Test { 10 11 public static void main(String[] args) { 12 String str; 13 Scanner scanner = new Scanner(System.in); 14 str = scanner.next(); 15 StrOpt stropt = new StrOpt(); 16 stropt.sameStr(str); 17 } 18 }
测试截图:
题目2:
编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba
代码:
字符串判断类:
1 package 判断回文数; 2 3 /** 4 * 5 * 字符串判断类:包含一个方法判断字符串是不是回文 6 */ 7 public class StrJudge { 8 9 Boolean isPlalindrome(String str) { 10 str = this.getAtoz(str); 11 int starts = 0; 12 int ends = str.length() - 1; 13 while (starts < ends) { 14 if (str.charAt(starts) == str.charAt(ends)) { 15 starts++; 16 ends--; 17 } else { 18 return false; 19 } 20 21 } 22 23 return true; 24 } 25 26 String getAtoz(String str) { 27 StringBuffer str1 = new StringBuffer(); 28 for (int i = 0; i < str.length(); i++) { 29 if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z' || str.charAt(i) >= 'a' && str.charAt(i) <= 'z') 30 str1.append(str.charAt(i)); 31 } 32 return new String(str1); 33 34 } 35 36 }
测试类:
1 package 判断回文数; 2 3 /** 4 * 测试类 5 */ 6 import java.util.Scanner; 7 8 public class Test { 9 public static void main(String[] args) { 10 Scanner scanner = new Scanner(System.in); 11 String str = scanner.next(); 12 StrJudge strJudge = new StrJudge(); 13 if (strJudge.isPlalindrome(str)) { 14 System.out.println(str + "中的字母是回文"); 15 } else { 16 System.out.println(str + "中的字母不是回文"); 17 } 18 19 } 20 }