题目1:编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。
代码如下:
package huangxiaotian; import java.util.Scanner; public class ZFC { public static void main(String[] args){ Scanner s=new Scanner(System.in); int[] array=new int[100];//定义一个长度为100的整型数组 System.out.print("请输入字符串:"); String c=s.nextLine(); for(int i=0;i<c.length();i++){ //定义一个for循环,获取字符串中的每一个字母,定义整形的数组下标j;用a[j]表示字母在字符串中出现的次数 char ch=c.charAt(i); int j=ch-'a'; array[j]=array[j]+1; } for(int i=0;i<array.length;i++){//定义for循环 if(array[i]!=0) //判断字母是否在字符串中 { System.out.println("字母"+(char)(i+'a')+"出现了"+array[i]+"次");//输出字符串中字母出现的次数 } } } }
运行结果:
题目2:编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba
代码如下:
package huangxiaotian; import java.util.Scanner; public class ZFC { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String s=scanner.nextLine(); StringBuffer s1=new StringBuffer(s);//将string转换成String'buffer s1.reverse();//逆置 String s2=""+s1; if(s.equals(s2)){ System.out.println(s+"是回文串"); }else{ System.out.println(s+"不是回文串"); } } }
运行结果: