第11次作业--字符串处理
题目1:编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。
代码:
package org.ccut.pack_7; import java.util.Scanner; /* * 编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。 * */ public class CountChar { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); char chs[] = new char[99999]; int num[] = new int[99999]; boolean flag = false; char ch; int t = 0; for (int i = 0; i < str.length(); i++) { flag=false; ch = str.charAt(i); for (int j = 0; j < t; j++) { if (ch == chs[j]) { num[j]++; flag = true; break; } } if (flag == false) { chs[t] = ch; num[t]++; t++; } } for (int k = 0; k < t; k++) { System.out.println(chs[k] + ":" + num[k]); } } }
运行结果:
题目2:编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba
代码:
package org.ccut.pack_9; import java.util.Scanner; /* * 编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:ab<c>c?ba * */ public class HuiWen { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String chs=scanner.next(); boolean flag=false; int i,j; for(i=0,j=chs.length()-1;i<j;i++,j--){ if(chs.charAt(i)!=chs.charAt(j)){ System.out.println(chs+"不是回文数!"); break; } } if(i>=j){ System.out.println(chs+"是回文数!"); } } }
运行结果: