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();
    }

}

 

posted @ 2012-12-24 15:34  microsoft_kk  阅读(343)  评论(0编辑  收藏  举报