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

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

Test.java

package q;
import java.util.Scanner;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner reader=new Scanner(System.in);
        String s=reader.nextLine();
        for(int i=0;i<s.length();i++){
            char c=s.charAt(i);//拆分
            String str1=String.valueOf(c);//char转换成String
             if(s.indexOf(c) == i){     //判断该字符是否第一次出现;
                 int num=0;
                 for(int j=0;j<s.length();j++){
                     if(s.regionMatches(j, str1, 0, 1)){//查找相同字母
                         num++;
                     }
                 }
                 System.out.println(""+c+"出现了"+num+"");
                 }
             }
        }
    }

运行结果

 

 

 

题目2

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

 代码

 Judge.java

package q;
import java.util.Scanner;

public class Judge {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner reader=new Scanner(System.in);
        System.out.println("请输入一串字符:");
        String str=reader.nextLine();
        String str1 = str.replaceAll("[\\p{Punct}\\p{Space}]+", "");//正则表达式剔除特殊符
        StringBuffer str2=new StringBuffer(str1);//创建stringbuffer对象
        if(str1.equals(str2.reverse().toString())){//str1与str2转换完的串比较
            System.out.println("是回文串");
        }else{
            System.out.println("不是回文串");
        }
    }
    }

运行结果

 

 

posted @ 2019-11-19 21:44  王庆祥  阅读(140)  评论(0编辑  收藏  举报