1、取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
1 import java.util.Iterator; 2 import java.util.Map; 3 import java.util.Map.Entry; 4 import java.util.Set; 5 import java.util.TreeMap; 6 7 public class Test1 { 8 public static void main(String[] args){ 9 String str ="abcdekka27qoq"; 10 System.out.println(charCount(str)); 11 } 12 public static String charCount(String str){ 13 char[] chs = str.toCharArray(); 14 Map<Character,Integer> m = new TreeMap<Character,Integer>(); 15 int count =0; 16 for(int x=0;x<chs.length;x++){ 17 if(chs[x]>='a'&&chs[x]<='z'||chs[x]>='A'&&chs[x]<='Z'){ 18 Integer value = m.get(chs[x]); 19 if(value!=null) 20 count=value; 21 count++; 22 m.put(chs[x], count); 23 count =0; 24 } 25 } 26 StringBuilder sb =new StringBuilder(); 27 Set<Map.Entry<Character,Integer>> s = m.entrySet(); 28 Iterator<Entry<Character, Integer>> it =s.iterator(); 29 while(it.hasNext()){ 30 Map.Entry<Character, Integer> me =it.next(); 31 sb.append(me.getKey()+"("+me.getValue()+")"); 32 } 33 return sb.toString(); 34 35 } 36 }
2.根据上排给出的十个数,在其下排填出对应的十个数,要求下排每个数都是上排十个数在下排出现的次数
1 /* 2 3 根据上排给出的十个数,在其下排填出对应的十个数,要求下排每个数都是上排十个数在下排出现的次数 4 5 */ 6 7 class GetNextArray 8 9 { 10 11 public static void main(String[] args) 12 { 13 14 //System.out.println("Hello World!"); 15 16 int[] arr1={0,1,6,3,5,4,2,7,8,9}; 17 18 int[] arr2=new int[arr1.length]; 19 20 for(int y=0;y<arr1.length;y++) 21 22 { 23 24 for (int x=0;x<arr1.length ;x++ ) 25 26 { 27 28 int a=getCount(arr1[x],arr2); 29 30 31 if(arr2[0]==0) 32 33 arr2[0]=a-1; 34 35 else 36 37 arr2[x]=a; 38 } 39 40 } 41 42 printArray(arr1); 43 44 System.out.println(); 45 46 printArray(arr2); 47 48 } 49 50 //获得每个元素在数组中出现的次数 51 52 public static int getCount(int key,int[] arr) 53 54 { 55 56 int count=0; 57 58 for (int x=0;x<arr.length ;x++ ) 59 60 { 61 62 if (key==arr[x]) 63 64 count++; 65 } 66 67 return count; 68 69 } 70 71 //打印数组 72 public static void printArray(int[] arr) 73 74 { 75 76 for (int x=0;x<arr.length ;x++ ) 77 78 { 79 80 if(x!=arr.length-1) 81 82 System.out.print(arr[x]+","); 83 84 else 85 86 System.out.print(arr[x]); 87 88 } 89 90 } 91 92 } 93