A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山林野马   /  2012-8-20 15:32  /  1427 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 匿名 于 2012-8-20 15:40 编辑

昨天晚上,一直想对HashMap进行分段,虽奋斗到零晨,仍不得解决,遂发贴提问,后,稍有头续,便回去重试。经验证,确有一法可行之,却不佳。然此时困意难敌,只好先退之而眠。晨起,换法而行之,喜得此方,虽仍不甚佳,然程序中思路稍见清晰,本欲乘快马贡上此方与新手共享,却不想,貌似原贴......已遭非命。。。。。。
然因鄙人实不忍心新人因此题不得解而重复我之苦路,遂重开新贴,愿与新手共勉,百度无有,如有请复删。
  1. import java.util.HashMap;
  2. public class test
  3. {
  4. public static void main(String args[]) throws Exception
  5. {

  6. HashMap<String,String> hm=new HashMap<String,String>();
  7. for(int i=65;i<91;i++)
  8. {
  9. hm.put(String.valueOf((char)i),String.valueOf(i));
  10. }
  11. Object obj[]=hm.keySet().toArray();
  12. int splitData=5; //按几个数据分
  13. int totalPage=obj.length/splitData; //能分多少段
  14. int remainder=obj.length%splitData; //还余多少个
  15. System.out.println(hm.getClass().getSimpleName()+"中共有("+obj.length+")个人.\n按每组("+splitData+")个人来分,可以分为("
  16. +totalPage+")组。剩余("+remainder+")个人。");
  17. for(int i=0;i<obj.length-splitData;i+=splitData)
  18. {
  19. for(int j=0;j<splitData;j++)
  20. {
  21. System.out.print(obj[i+j]);
  22. }
  23. System.out.println();
  24. }
  25. for(int i=0;i<remainder;i++) //取出剩余的
  26. {
  27. System.out.print((i!=remainder-1)?(String)obj[totalPage+i]:(String)obj[totalPage+i]+"(啊哦,好像剩我"+remainder+"个了,求组团啊)");
  28. }


  29. }
  30. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马