第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 }

 

测试截图:

posted @ 2019-11-19 15:56  刘明康20194682  阅读(253)  评论(0编辑  收藏  举报