第11次作业--字符串处理
题目1:编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。
1.TEST.java
import java.util.Scanner; public class TEST { public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader = new Scanner(System.in); System.out.println("请输入一个字符串"); String input=reader.nextLine(); for(int i=0;i<input.length();i++){ char flag1 = input.charAt(i); //提取字符串中字符为flag String str1 = String.valueOf(flag1); //将字符类型转化为字符串类型 int num = 0; //设置计数器 if(input.indexOf(str1)==i){ ////字符是否第一次出现 for(int j=0;j<input.length();j++) { char flag2 = input.charAt(j); //提取字符串字符 String str2 = String.valueOf(flag2); //将字符类型转化为字符串类型 if(str1.equals(str2)) //将flag1与字符串中的每个字符做做比较 num++; } System.out.println(flag1+":"+num); } } } }
运行结果
题目2:编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba
1.回文数.java
import java.util.Scanner; public class 回文数 { /** * @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 S1 = str.replaceAll("[\\p{Punct}\\p{Space}]+",""); //利用正则表达式剔除特殊字符 StringBuffer S2 = new StringBuffer(S1); //创建StringBuffer对象 S2.reverse(); //将字符串倒置 if(S1.equals(S2.reverse().toString())){ //与原字符串进行比较 System.out.println("是回文字符"); } else System.out.println("不是回文字符"); } }
运行结果