题目1:编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。
代码:
CC.java
package ccut; import java.util.Scanner; public class CC { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.println("请输入一个字符串"); String s = reader.nextLine();//接收没有空格的字符串 for (int i = 0; i < s.length(); i++) { int count = 0; String str = s.substring(i, i + 1);//从s字符串i位置截取i+1个字符 if (s.indexOf(str) == i) {//判断str首次出现的位置是否和i相等 for (int j = 0; j < s.length(); j++) { if (s.regionMatches(j, str, 0, 1)) {//从s字符串中j位置截取长度为1的子串与截取子串0位置到1位置的字符进行比较 count++; } } System.out.println(str + "出现的次数" + count); } } } }
测试运行结果
题目2:编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:abcba。
代码:
Hw.java
package ccut; import java.util.Scanner; public class Hw { public static void main(String[] args) { Scanner reader=new Scanner(System.in); System.out.println("输入一串字符:"); String str=reader.nextLine(); StringBuffer newstr=new StringBuffer(str);//创建StringBuffer对象 if(str.equals(newstr.reverse().toString())){//将StringBuffer转化为String,str与newstr进行比较 System.out.println("字符串是回文"); }else{ System.out.println("不是回文"); } } }