第11次作业--字符串处理

题目1:编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。

 1 package 统计字符串中相同字符个数;
 2 
 3 import java.util.Scanner;
 4 
 5 
 6 public class Same {
 7    
 8     
 9     public static void main(String[] args) { 
10         System.out.println("请输入字符串:");
11         Scanner reader=new Scanner(System.in);
12         String s=reader.nextLine();     //从键盘接收字符串,可接收空格
13         char a[]=s.toCharArray();       //将字符串转化为字符数组   
14         
15         for (int i=0;i<a.length;i++){   //for循环遍历数组,找相同元素 
16             int count =0;
17             
18             for(int j=0;j<a.length;j++){
19                 if(a[i]==a[j]){
20                     count++;
21                 }
22             }
23                 System.out.println("第"+(i+1)+"个字符:"+a[i]+"共有"+count+"个");
24         
25         }
26 
27     }
28 
29 }

运行结果

 

 题目2:编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba

设计思想:StringBuffer对象有字符串逆置的方法,但是StringBuffer对象对字符串的操作也会改变原有字符串的内容,所以原有字符串用String类来创建,再新建一个StringBuffer类的对象来存原字符串的内容,将其逆置,判断两个是否相等,相等就是回文,不相等就构不成回文。

 1 package 回文;
 2 
 3 import java.util.Scanner;
 4 
 5 public class huiwen {
 6 
 7     
 8     public static void main(String[] args) {
 9         
10         Scanner reader=new Scanner(System.in);
11         System.out.println("请输入一个字符串:");
12         String a=reader.nextLine();           //从键盘接收字符串用a接收
13         StringBuffer b=new StringBuffer(a);   //创建StringBuffer类对象b,里面存String对象a的内容
14         if(a.equals(b.reverse().substring(0))){  //判断b的逆置是否和a相同 ,相同则a是回文,不同则a不是回文
15             System.out.println("是回文");
16         }else{
17             System.out.println("不是回文");
18         }
19         
20     }
21 
22 }

运行结果

 

 

 

posted @ 2019-11-19 19:38  丁宝铭  阅读(222)  评论(0编辑  收藏  举报