CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

错在哪?

楼主xzc585800(xzc)2004-05-02 10:38:07 在 .NET技术 / VB.NET 提问

Dim   a()   As   Integer   =   {1,   3,   5,   9,   11,   13}    
                  Dim   b()   As   Integer   =   {1,   3,   5,   9,   11,   18}    
                  Dim   c()   As   Integer   =   {2,   3,   5,   9,   11,   18}    
                  Dim   d()   As   Integer   =   {2,   3,   6,   9,   11,   18}  
                  Dim   i   As   Integer  
                  Dim   j   As   Integer  
                  Dim   Count   As   Integer  
   
                  Dim   g   As   New   ArrayList()  
                  '将数组加入到数组集合中  
                  g.Add(a)  
                  g.Add(b)  
                  g.Add(c)  
                  g.Add(d)  
           
   
                  '循环判断  
  Jump:         For   i   =   0   To   g.Count   -   2  
                          Dim   s()   As   Integer   =   g.Item(i)  
                          For   j   =   i   +   1   To   g.Count   -   1  
                                  Dim   t()   As   Integer   =   g.Item(j)  
                                  Count   =   0  
                                  Dim   ss   As   Integer  
                                  For   Each   ss   In   s  
                                          Dim   tt   As   Integer  
                                          For   Each   tt   In   t  
                                                  If   ss   =   tt   Then  
                                                          Count   =   Count   +   1  
                                                  End   If  
                                          Next  
                                  Next  
                            '如果删除标志大于5,则删除相应位置中的一个结点    
                                  If   Count   >=   5   Then      
                                          g.RemoveAt(j)  
                                          MessageBox.Show(g.Count.ToString)  
                                          Exit   For  
                                          GoTo   Jump  
   
                                  End   If  
                          Next  
                  Next  
   
                  Dim   c1()   As   Integer  
                  Dim   ss1   As   String  
                  Dim   i1   As   Integer  
                  For   i1   =   0   To   g.Count   -   1  
                          c1   =   g(i1)  
                          Dim   j1   As   Integer  
                          For   j1   =   0   To   c1.Length   -   1  
                                  ss1   =   ss1   +   c1(j1).ToString   +   ","  
   
                          Next  
   
                          ListBox1.Items.Add(ss1)  
                          ss1   =   ""  
                  Next  
  我想要求的是如果两个数组相互之间有5个以上值相同,便删除其中的一个数组,然后继续检查下去,直到集合里的数组相互没有5个以上值相同为止。  
  也就是我最终的答案是:集合列表内只剩下a()和c(),我的错在哪里呢? 问题点数:100、回复次数:5Top

1 楼yuwen16(rr)回复于 2004-05-02 12:13:51 得分 50

问题在g.RemoveAt(j)这句上  
  如果你此时删除的话g.count已经改变?所以你此时最好别删除,只是标记出来。然后在删除!!Top

2 楼CMIC(大象)回复于 2004-05-02 12:51:14 得分 50

同意楼上的Top

3 楼xzc585800(xzc)回复于 2004-05-02 14:54:02 得分 0

第一个循环查出的是a()和b(),我如果此时不删除b(),那么循环下去,有和它一样有重复5个以上的数值的也一样会删除出去。如:c()也有和b()有5个数值重复,这时不删除b(),继续循环下去,c()也会被作上标识而删除出去,这样就只会剩下一个数组了,而不是我所说的两个a()和c(),了。  
  Top

4 楼lijun84(李俊俊)回复于 2004-05-03 02:02:12 得分 0

UP!~UP!~UP!~Top

5 楼xzc585800(xzc)回复于 2004-05-03 13:52:14 得分 0

我已经解决了,哈哈。在此谢谢各位帮助我的朋友。Top

相关问题

  • 我错在哪?
  • 错在哪?
  • 错在哪里???
  • 错在那?
  • 错在哪里?
  • 错在那了?
  • 错在哪里????
  • 错在哪里?
  • 错在哪?
  • 错在那里?

关键词

  • 删除
  • 数组
  • dim
  • ss
  • count
  • as integer
  • tt
  • next
  • add

得分解答快速导航

  • 帖主:xzc585800
  • yuwen16
  • CMIC

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

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