java格式化字符串的常用方法

 1 package com.zhidi.tool;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 import java.util.Random;
 6 
 7 /**
 8  * 随机生成字符串或数字
 9  * @author Administrator
10  *
11  */
12 public class RandomDemo {
13     
14     /*
15      * 随机生成一条字符串,长度通过参数传入
16      */
17     public static String getString(int len){
18         
19         String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
20         Random ran = new Random();
21         StringBuffer sb = new StringBuffer();
22         
23         for (int i = 0; i < len; i++) {
24             char ch = str.charAt(ran.nextInt(str.length()));
25             sb.append(ch);
26         }
27         
28         return sb.toString();
29     }
30     
31     /*
32      * 随机生成字符串,长度不固定
33      */
34     public static String getString(){
35         
36         String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
37         Random ran = new Random();
38         StringBuffer sb = new StringBuffer();
39         int len = ran.nextInt(10)+1;
40         for (int i = 0; i < len; i++) {
41             char ch = str.charAt(ran.nextInt(str.length()));
42             sb.append(ch);
43         }
44         
45         return sb.toString();
46     }
47     
48     /*
49      * 随机生成n条字符串,返回List<String>集合
50      */
51     public static List<String> getStringList(int len){
52         List<String> list = new ArrayList<String>();
53         
54         for (int i = 0; i < len; i++) {
55             String str = getString();
56             list.add(str);
57         }
58         
59         return list;
60     }
61     
62     
63 
64 }
  1 package com.zhidi.tool;
  2 
  3 import java.util.Collections;
  4 import java.util.HashMap;
  5 import java.util.HashSet;
  6 import java.util.Map;
  7 import java.util.Map.Entry;
  8 import java.util.Set;
  9 
 10 public class ForString {
 11 
 12     
 13     /*
 14      * 清除重复字符,返回字符串
 15      */
 16     
 17     public String getString(String str){
 18         Set<Character> s = new HashSet<Character>();
 19         char[] ch = str.toCharArray();
 20         for (char c : ch) {
 21             s.add(c);
 22         }
 23         StringBuffer sb = new StringBuffer();
 24         
 25         for (char c : s) {
 26             sb.append(c);
 27         }
 28         
 29         return sb.toString();
 30     }
 31     
 32     /*
 33      * 返回重复的字符串
 34      */
 35     public String getCFString(String str){
 36         Set<Character> s = new HashSet<Character>();//清除重复的字符串
 37         Set<Character> s2 = new HashSet<Character>();//存放重复的字符串
 38         char[] ch = str.toCharArray();
 39         for (char c : ch) {
 40             boolean b = s.add(c);
 41             if(!b){
 42                 s2.add(c);
 43             }
 44         }
 45 
 46         StringBuffer sb = new StringBuffer();
 47         for (char c : s2) {
 48             sb.append(c);
 49         }
 50         
 51         return sb.toString();
 52     }
 53     
 54     /*
 55      * 返回不重复的字符串
 56      */
 57     public String getNoCF(String str){
 58         Set<Character> s = new HashSet<Character>();//清除重复的字符串
 59         Set<Character> s2 = new HashSet<Character>();//存放重复的字符串
 60         Set<Character> s3 = new HashSet<Character>();//存放不重复的字符串
 61         char[] ch = str.toCharArray();
 62         for (char c : ch) {
 63             boolean b = s.add(c);
 64             if(!b){
 65                 s2.add(c);
 66             }
 67         }
 68         
 69         s3.addAll(s);
 70         s3.removeAll(s2);
 71 
 72         StringBuffer sb = new StringBuffer();
 73         for (char c : s3) {
 74             sb.append(c);
 75         }
 76         
 77         return sb.toString();
 78     }
 79     
 80     /*
 81      * 返回Map集合,统计字符串中每个字符出现的次数
 82      */
 83     public Map<Character,Integer> getStringNum(String str){
 84         char[] ch = str.toCharArray();
 85         Map<Character,Integer> map = new HashMap<Character,Integer>();
 86         System.out.println(str);
 87         for (char c : ch) {
 88             if(map.containsKey(c)){
 89                 Integer i = map.get(c);
 90                 i++;
 91                 map.put(c, i);
 92             }else{
 93                 map.put(c, 1);
 94             }
 95         }
 96         return map;
 97     }
 98     
 99     
100     
101 }
 1 package com.zhidi;
 2 
 3 import java.util.Collections;
 4 import java.util.List;
 5 import java.util.Map;
 6 import java.util.Scanner;
 7 import java.util.Set;
 8 
 9 import com.zhidi.tool.ForString;
10 import com.zhidi.tool.RandomDemo;
11 
12 public class Test {
13 
14     public static void main(String[] args) {
15     
16 //        List<String> list = RandomDemo.getStringList(10);
17 //        
18 //        Collections.sort(RandomDemo.getStringList(10));
19 //        for (String s : list) {
20 //            System.out.println(s);
21 //        }
22         ForString fs = new ForString();
23         Scanner sc = new Scanner(System.in);
24         
25         System.out.println("请输入一条字符串:");
26         String str = sc.next();
27         System.out.println(str);
28         Map<Character, Integer> map = fs.getStringNum(str);
29         System.out.println("------------------");
30         Set<Character> s = map.keySet();
31         for (Character c : s) {
32             Integer i = map.get(c);
33             System.out.println(c+"出现了"+i+"次");
34         }
35         
36     }
37 
38 }

 

posted @ 2016-09-07 14:16  Android小码农  阅读(461)  评论(0)    收藏  举报