js 测试题
var str="abaasdffggghhjjkkgfddsssss"; //查出str中每个字母的个数,以及出现次数最多的字母次数 var c=new Array(); var i=0; while(str.charAt(0)){ c[i]=str.charAt(0)+'='+(str.split(str.charAt(0)).length-1); str=str.split(str.charAt(0)).join(''); i++; } alert(c); for(var j=0,m=0;j<c.length;j++){ if(m<=c[j].split('=')[1]){ m=c[j].split('=')[1]; i=j; } } alert(c[i]);
var str="abc工"; /统计字节数 var c=0; for(var i=0;i<str.length;i++){ if(str.charCodeAt(i)>255) c+=2; else c++; } alert(c);
java版:
//java中没有像js中数组的join方法,split的算法也不一样,当只有一个或多个相同的字符时java中split后数组长度为0
public static void main(String[] args) throws Exception { String str="abbcccddddeaaaaaaaaaaaaaaaaaaaaafgbrekljgklwej"; Map<Character,Integer> count=new HashMap<Character, Integer>(26); for(int i=0;i<str.length();i++){ char c=str.charAt(i); if(c!=-1){ if(count.get(c)!=null){ //已经添加过 count.put(c, count.get(c)+1); }else{//没有添加过 设置值为1 count.put(c,1); } } } int maxKey=count.get(str.charAt(0)); for(int i=0;i<str.length();i++){ if(maxKey<count.get(str.charAt(i))){ maxKey=i; } } System.out.println(str.charAt(maxKey)+":"+count.get(str.charAt(maxKey))); }
//转换¥public class TestString { private static final char[] data = new char[]{ '零','壹','贰','叁','肆','伍','陆','柒','捌','玖' }; private static final char[] units = new char[]{ '元','拾','佰','仟','万','拾','佰','仟','亿' }; public static void main(String[] args) { System.out.println(convert(123456789)); } public static String convert(int money) { if(money==0)return (data[0]+"")+units[0]; StringBuffer sb=new StringBuffer(); int unit=0; while(money!=0){ sb.insert(0, units[unit++]); int number=money%10; sb.insert(0, data[number]); money/=10; } return sb.toString(); } }