CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 扩展类

这个能用算法实现吗?

楼主lipeng628()2006-12-01 11:59:25 在 Java / J2SE / 扩展类 提问

我现在有一批数据。格式如下:  
  String[]   a={  
  1996   21   1,  
  1996   21   2,  
  1996   21   3,  
  1996   22   1,  
  1996   22   2,  
  2000   21   2,  
  2000   23   2}  
  我想显示出来的格式是:  
  1996     V21     NO.1     2     3    
              V22     No.1     2  
  2000     V21     No.2  
              V23     No.2  
  问题点数:20、回复次数:8Top

1 楼malligator(十步之内没有我的爱人)回复于 2006-12-01 12:43:25 得分 0

几重循环就可以实现了吧  
  想写的,要用到三重循环  
  写到一小半,判断太复杂了,放弃!Top

2 楼danielzhan()回复于 2006-12-01 12:58:34 得分 0

try   Hashtable<String,   Hashtable<String,   Integer>>Top

3 楼luyang1016(闭月羞花猫)回复于 2006-12-01 12:59:16 得分 0

几重循环就可以实现了吧  
  想写的,要用到三重循环  
  写到一小半,判断太复杂了,放弃!  
  Top

4 楼malligator(十步之内没有我的爱人)回复于 2006-12-01 13:50:11 得分 0

很好笑吗?  
  ====================  
   
  public   class   Test{    
   
          public   static   void   main(String   args[]){    
                  String[]   a={"1996   21   1",  
                                          "1996   21   2",  
                                          "1996   21   3",  
                                          "1996   22   1",  
                                          "1996   22   2",  
                                          "2000   21   2",  
                                          "2000   21   3",  
                                          "2000   21   4",  
                                          "2000   23   3",  
                                          "2000   23   2"};  
                  String   ss,sv;  
                  int   i=0;  
                  ss=a[0].substring(0,4);  
                  sv=a[0].substring(5,7);  
                  System.out.print(ss+"     V"+sv+"     NO."+a[0].substring(8,9));  
                  i=1;                  
                  do{  
                          while(i<a.length&&ss.equals(a[i].substring(0,4)))  
                          {  
                                  while(i<a.length&&sv.equals(a[i].substring(5,7)))  
                                  {  
                                          System.out.print("     "+a[i].substring(8,9));  
                                          i++;  
                                  }  
                                  System.out.println();  
                                  if(i<a.length)   {  
                                          sv=a[i].substring(5,7);  
                                          if(ss.equals(a[i].substring(0,4)))  
                                                  System.out.print("             V"+sv+"     NO."+a[i].substring(8,9));  
                                          else   {  
                                                  ss=a[i].substring(0,4);  
                                                  System.out.print(ss+"     V"+sv+"     NO."+a[i].substring(8,9));                                              
                                          }  
                                  }  
                                  i++;  
                          };  
                  }while(i<a.length);  
   
          }    
           
  }    
  =============  
  测试可能不完全,这个应该可以符合要求吧  
   
  另:这里假定串中的位数、位置是固定的,如果不是,就要用string.split("\s+")取得各段字符了;判断还是一样的Top

5 楼sxnucseven(*)回复于 2006-12-01 14:15:12 得分 0

写一个类似关系表的数据结构。  
  写一个字符串处理程序处理这些字符串把结果存入数据结构中。  
  从数据结构中读取数据打印。  
  就像自己写一个简单的数据库操作程序一样。只不过这里的数据是存在内存中的。Top

6 楼fool_leave(请及时结贴)回复于 2006-12-04 11:23:05 得分 0

同意sxnucseven的说法,使用Map->Map->ArrayList的结构,或者自己写一个结构来做  
  要通过设计数据结构来简化程序逻辑Top

7 楼hdhmail2000(禅剑飞雪)回复于 2006-12-04 16:31:07 得分 0

把每一条数据分割成三段,分别保存到临时表的三个字段,然后通过数据库的group   by来做  
  这样效率很高Top

8 楼redhat456(小红帽)回复于 2006-12-07 13:32:11 得分 0

多关键字排序  
  然后顺序输出就可以了吧!Top

相关问题

关键词

得分解答快速导航

  • 帖主:lipeng628

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo