有如下号码:002 006 012 016 022 025 028 029 056 058
059 066 069 089 113 114 116 117 123 124
127 129 133 135 137 138 144 145 148 149
156 157 166 168 169 177 178 223 224 226
227 233 235 238 244 245 248 249 256 257
259 266 267 268 269 277 278 334 336 337
339 344 345 347 356 357 359 366 367 368
369 377 378 389 399 446 447 456 457 458
459 466 467 468 469 477 478 479 567 568
579 667 677 678 679 689 779 789 799001 002 005 008 011 012 013 014 015 018
019 023 025 027 028 035 037 038 045 048
055 058 088 123 124 125 126 128 134 135
136 137 138 139 145 146 148 156 157 158
159 167 168 169 179 234 236 237 238 245
246 248 256 258 268 279 289 335 345 347
348 355 357 367 368 378 379 448 456 458
468 478 479 488 568 578 668 688
001 005 008 011 013 014 018 019 023 026
027 035 038 039 055 056 057 059 078 088
112 115 116 117 118 119 122 123 127 128
134 135 136 137 138 139 145 146 147 148
149 155 156 157 166 177 188 199 224 225
228 229 236 237 238 244 245 246 249 255
256 257 267 269 288 299 345 348 356 357
358 359 368 456 457 467 468 478 489 558
559 567 569 578 588 599 678 689 889 899
将以上号码出现次数统计出来,
显示效果与下面一致:
共有3个号码群进行统计,总注数为267出现1次的号码(94注):
006 015 016 022 026 029 037 039 045 048
057 066 069 078 089 112 113 114 115 118
119 122 125 126 129 133 144 147 155 158
159 167 178 179 188 199 223 225 226 227
228 229 233 234 235 255 258 259 266 277
278 279 288 289 299 334 335 336 337 339
344 355 358 366 369 377 379 389 399 446
447 448 459 466 469 477 488 489 558 559
569 579 588 599 667 668 677 679 688 779
789 799 889 899出现2次的号码(61注):
001 002 005 008 011 012 013 014 018 019
023 025 027 028 035 038 055 056 058 059
088 116 117 124 127 128 134 136 139 146
149 166 168 169 177 224 236 237 244 246
248 249 257 267 268 269 347 348 356 359
367 378 457 458 467 479 567 568 578 678
689出现3次的号码(17注):
123 135 137 138 145 148 156 157 238 245
256 345 357 368 456 468 478

解决方案 »

  1.   

    Map大概就行了吧
    以号码为键出现次数为值
    输出的时候遍历值
      

  2.   

    文件out.txt有如下号码:002 006 012 016 022 025 028 029 056 058
    059 066 069 089 113 114 116 117 123 124
    127 129 133 135 137 138 144 145 148 149
    156 157 166 168 169 177 178 223 224 226
    227 233 235 238 244 245 248 249 256 257
    259 266 267 268 269 277 278 334 336 337
    339 344 345 347 356 357 359 366 367 368
    369 377 378 389 399 446 447 456 457 458
    459 466 467 468 469 477 478 479 567 568
    579 667 677 678 679 689 779 789 799001 002 005 008 011 012 013 014 015 018
    019 023 025 027 028 035 037 038 045 048
    055 058 088 123 124 125 126 128 134 135
    136 137 138 139 145 146 148 156 157 158
    159 167 168 169 179 234 236 237 238 245
    246 248 256 258 268 279 289 335 345 347
    348 355 357 367 368 378 379 448 456 458
    468 478 479 488 568 578 668 688
    001 005 008 011 013 014 018 019 023 026
    027 035 038 039 055 056 057 059 078 088
    112 115 116 117 118 119 122 123 127 128
    134 135 136 137 138 139 145 146 147 148
    149 155 156 157 166 177 188 199 224 225
    228 229 236 237 238 244 245 246 249 255
    256 257 267 269 288 299 345 348 356 357
    358 359 368 456 457 467 468 478 489 558
    559 567 569 578 588 599 678 689 889 899
    将以上号码从文件out.txt中读出来,
    号码出现次数统计出来,
    显示效果与下面一致:
    共有3个号码群进行统计,总注数为267出现1次的号码(94注):
    006 015 016 022 026 029 037 039 045 048
    057 066 069 078 089 112 113 114 115 118
    119 122 125 126 129 133 144 147 155 158
    159 167 178 179 188 199 223 225 226 227
    228 229 233 234 235 255 258 259 266 277
    278 279 288 289 299 334 335 336 337 339
    344 355 358 366 369 377 379 389 399 446
    447 448 459 466 469 477 488 489 558 559
    569 579 588 599 667 668 677 679 688 779
    789 799 889 899出现2次的号码(61注):
    001 002 005 008 011 012 013 014 018 019
    023 025 027 028 035 038 055 056 058 059
    088 116 117 124 127 128 134 136 139 146
    149 166 168 169 177 224 236 237 244 246
    248 249 257 267 268 269 347 348 356 359
    367 378 457 458 467 479 567 568 578 678
    689出现3次的号码(17注):
    123 135 137 138 145 148 156 157 238 245
    256 345 357 368 456 468 478
      

  3.   

            String nums = "1 2 1 2 3";
            Map<String,Integer> map = new HashMap<String,Integer>();
            String[] a = nums.split(" ");
            for (int i = 0; i < a.length;i++) {
                if (map.containsKey(a[i])) {
                    map.put(a[i], map.get(a[i]) + 1);
                } else {
                    map.put(a[i], 1);
                }
            }
    然后把map遍历一下,就出来结果了
      

  4.   

    给你写完算了:
           String nums = "1 2 1 2 3 4 1 9";
            Map<String, Integer> map = new HashMap<String, Integer>();
            String[] a = nums.split(" ");
            for (int i = 0; i < a.length; i++) {
                if (map.containsKey(a[i])) {
                    map.put(a[i], map.get(a[i]) + 1);
                } else {
                    map.put(a[i], 1);
                }
            }        Map<Integer, String> map2 = new TreeMap<Integer, String>();
            for (Entry<String, Integer> e : map.entrySet()) {
                if (map2.containsKey(e.getValue())) {
                    map2.put(e.getValue(), map2.get(e.getValue()) + "," + e.getKey());
                } else {
                    map2.put(e.getValue(), e.getKey());
                }
            }        for (Entry<Integer, String> e : map2.entrySet()) {
                System.out.println("重复" + e.getKey() + "次的数据有 : " + e.getValue());
            }多少注怎么取,自己想想吧,呵呵!
      

  5.   

    package ioed;import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;public class CSDNIO { public static int getTime(Map<String, Integer> map, Integer i) {
    int j = 0;
    for (Object obj : map.values()) {
    if (i.equals(obj)) {
    j++;
    }
    }
    return j;
    } public static void main(String[] args) { BufferedReader buffReader = null;
    try {
    buffReader = new BufferedReader(new InputStreamReader(
    new FileInputStream("d:\\out.txt")));
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } Map<String, Integer> map = new HashMap<String, Integer>();
    String s = null;
    String ss[] = null; while (true) { try {
    s = buffReader.readLine();
    } catch (IOException e) {
    e.printStackTrace();
    }
    if (s != null && s.length() > 0) {
    ss = s.split(" ");
    } else if (s == null) {
    break;
    } else if (s.length() == 0) {
    continue;
    }
    for (String str : ss) {
    if (map.containsKey(str)) {
    map.put(str, map.get(str) + 1);
    } else {
    map.put(str, 1);
    }
    }
    }
    for (int i = 0; i < map.size(); i++) {
    if (getTime(map, i) > 0) {
    System.out.println();
    System.out.println("" + i + "(" + getTime(map, i) + "):"); int k = 0;
    for (Entry<String, Integer> entry : map.entrySet()) {
    if (entry.getValue().equals(i)) {
    System.out.print(entry.getKey() + " ");
    k++;
    if (k % 10 == 0) {
    System.out.println();
    System.out.flush();
    }
    }
    }
    }
    }
    }
    }

    结果:1(94):
    667 377 355 006 118 488 115 225 477 289 
    159 279 899 588 668 045 779 299 288 688 
    125 277 167 789 266 389 799 133 126 066 
    889 559 144 155 022 469 026 122 048 339 
    599 459 158 039 258 114 489 235 278 234 
    147 569 179 069 112 233 399 466 113 358 
    366 089 369 344 337 259 188 199 379 223 
    335 078 334 129 446 558 037 579 228 255 
    336 227 057 119 229 226 677 178 029 448 
    015 679 447 016 
    2(61):
    267 348 127 025 012 678 689 146 136 023 
    013 467 347 237 268 008 005 117 269 458 
    027 149 248 356 055 038 002 246 249 367 
    088 056 479 019 035 001 359 257 177 166 
    244 224 578 169 457 014 059 058 134 236 
    567 028 378 124 168 011 018 568 116 139 
    128 
    3(17):
    157 468 148 135 145 238 368 345 245 357 
    256 123 478 456 137 156 138 
      

  6.   


    Map<String, Integer> map = new TreeMap<String, Integer>();结果就一样了