第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("不是回文串"); } } }
运行结果