java面试题---统计中含有字母数字中的最大字符

来源:互联网 发布:百度推广软件下载 编辑:程序博客网 时间:2024/05/18 18:45

java面试题2

统计中含有字母数字中的最大字符

public class Test {public static void main(String[] args) {// TODO Auto-generated method stubString bb="  fsafdsa342786  ";//处理字符只留字符和数字String hArray=handleArray(bb);System.out.println("处理后只含有字母和数字字符的字符串"+hArray);//获取不重复字符串String noRepStr=noReapeatString(hArray);System.out.println("处理后的不重复的字符串"+noRepStr);//打印输出字符出现的次数cTimes(bb,noRepStr);}//处理字符串,使其只含有字母与数字字符public static String handleArray(String str){String str2="";for (int i = 0; i < str.length(); i++) {if('0'<=str.charAt(i)&&str.charAt(i)<='9'){str2+=str.charAt(i);}else if('a'<=str.charAt(i)&&str.charAt(i)<='z'){str2+=str.charAt(i);}else if('A'<=str.charAt(i)&&str.charAt(i)<='Z'){str2+=str.charAt(i);}}return str2;}//获取不重复字符串public static String noReapeatString(String str){String noRepStr=""+str.charAt(0);for (int i = 1; i < str.length(); i++) {boolean flag=true;for(int j=0;j<noRepStr.length();j++){if(str.charAt(i)==noRepStr.charAt(j)){flag=false;}}if(flag){noRepStr+=str.charAt(i);}}return noRepStr;}//获取次数public static void cTimes(String oldStr,String noRepStr){int[] num=new int[noRepStr.length()];for(int i=0;i<noRepStr.length();i++){for (int j = 0; j < oldStr.length(); j++) {if(oldStr.charAt(j)==noRepStr.charAt(i)){num[i]++;}}}for (int j = 0; j < num.length; j++) {System.out.println("字符"+noRepStr.charAt(j)+"出现的次数为:"+num[j]);}int maxIndex=maxTimes(num);for (int j = 0; j < num.length; j++) {if(num[maxIndex]==num[j]){System.out.println(noRepStr.charAt(j)+"字符数出现最多,"+"出现的次数为:"+num[j]);}}}//获取最大次数public static  int maxTimes(int[] arr){int max=arr[0];int maxIndex=0;for (int i = 1; i < arr.length; i++) {if(max<arr[i]){max=arr[i];maxIndex=i;}}return maxIndex;}}

(稍微修改也可用于统计所有字符,这里把其他字符去掉了)(方法二)
阅读全文
0 0
原创粉丝点击