同志们,关于遍历Vector的问题,很疑惑

wtw11897 2010-10-07 10:21:43
举例如下

Random rnd = new Random();
Form form = new Form("form");
Vector vector = new Vector();

for(int i=0;i<10;i++)
vector.addElement(form);

for(int j=0;j<vector.size();j++)
{
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}

如上代码
问题很严重 具体说不清楚
大家试试看
...全文
313 18 打赏 收藏 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxiuxiang 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 kf156 的回复:]
Java code

for(int j=0;j<vector.size();j++)
{
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}

改成

while(vector.size()>0){
int k= rnd.nextInt(vector.size());
vector.rem……
[/Quote]
up
车把式 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 wtw11897 的回复:]
举例如下

Random rnd = new Random();
Form form = new Form("form");
Vector vector = new Vector();

for(int i=0;i<10;i++)
vector.addElement(form);

for(int j=0;j<vector.size();j++)
{
int k= rnd……
[/Quote]
改成j--

Random rnd = new Random();
Test form=new Test();
Vector vector = new Vector();

for(int i=0;i<10;i++)
vector.addElement(form);
//int counts=0;
for(int j=0;j<vector.size();j++)
{

int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
//counts++;
//System.out.println("counts+="+counts);
j--;
}
softice_ 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 magong 的回复:]
引用 12 楼 softice_ 的回复:
这样改不行,没等循环完,Vector就空了

真的?理由?
[/Quote]
是我分析错了,不好意思!呵呵
wtw11897 2010-10-09
  • 打赏
  • 举报
回复
这个其实是敌人的飞机的一个方法
我用的Vector存储的
因为敌人的消亡是随机的
而我想在每次循环的时候遍历到每个敌人。。。。
wtw11897 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 magong 的回复:]
引用楼主 wtw11897 的回复:
for(int j=0;j<vector.size();j++)
{
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}

也可改成

Java code

int size = vector.size();
for(int j=0;j<size;j++)
{……
[/Quote]

呃 。。
是我没说清楚
在此段代码执行的前面有vector.addElement(form);
而且也是随机加入的
而这些代码都是在run()方法内的。。。
magong 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 softice_ 的回复:]
这样改不行,没等循环完,Vector就空了
[/Quote]
真的?理由?
softice_ 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 magong 的回复:]
引用楼主 wtw11897 的回复:
for(int j=0;j<vector.size();j++)
{
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}

也可改成

Java code

int size = vector.size();
for(int j=0;j<size;j++)
{……
[/Quote]
这样改不行,没等循环完,Vector就空了
magong 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 wtw11897 的回复:]
for(int j=0;j<vector.size();j++)
{
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}
[/Quote]
也可改成

int size = vector.size();
for(int j=0;j<size;j++)
{
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}
kf156 2010-10-08
  • 打赏
  • 举报
回复

for(int j=0;j<vector.size();j++)
{
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}

改成

while(vector.size()>0){
int k= rnd.nextInt(vector.size());
vector.removeElementAt(k);
}

bastengao 2010-10-08
  • 打赏
  • 举报
回复
循环的次数是 verctor.size() / 2
cqfantasy 2010-10-08
  • 打赏
  • 举报
回复
for(int j=0;j<vector.size();j++)


这个循环的次数并不是期望的10次, vector.size()一直在递减
cqfantasy 2010-10-08
  • 打赏
  • 举报
回复
不能回复了?
cqfantasy 2010-10-08
  • 打赏
  • 举报
回复
没有试,
但是至少for(int j=0;j<vector.size();j++)循环条件是有问题的,每次都--1。
实际循环次数并不是10次。
凡员外 2010-10-08
  • 打赏
  • 举报
回复
你在for循环里new form,再添加进容器,就不会出错了
楼主面向对象的思想还不是很成熟
凡员外 2010-10-08
  • 打赏
  • 举报
回复
你在for循环里new form,再添加进容器,就不会出错了
楼主面向对象的思想还不是很成熟
杨贝 2010-10-08
  • 打赏
  • 举报
回复
for(int i=0;i<10;i++)
vector.addElement(form);
?????????
疑惑
wtw11897 2010-10-07
  • 打赏
  • 举报
回复
晕 广告真多
自己顶起来
希望更多的人看到。
wtw11897 2010-10-07
  • 打赏
  • 举报
回复
自己顶~~~~
内容概要:本文聚焦于电力电子化电力系统中变换器端口导纳的黑盒提取与振荡模式辨识,结合Matlab与PSCAD仿真平台开展建模、仿真与分析。通过黑盒建模方法提取变换器在不同工况下的端口导纳特性,利用频域扫描与系统辨识技术获得其小信号阻抗模型,并基于广义奈奎斯特判据等频域稳定性分析工具对系统的潜在振荡模式进行精确辨识与评估。研究涵盖了小信号建模、阻抗测量、频域稳定性判据应用等关键技术,旨在解决高比例电力电子设备接入引起的次同步振荡、宽频振荡等稳定性难题,提升复杂电力系统的安全稳定运行能力。; 适合人群:具备电力系统分析、电力电子技术及自动控制理论基础的研究生、科研人员,以及从事新能源并网、微电网、柔性输电系统等领域的工程技术人员。; 使用场景及目标:① 掌握电力电子变换器的黑盒导纳建模方法,理解其在多变换器交互系统中的等效动态行为;② 学习并应用阻抗分析法进行系统级频域稳定性评估,深入理解振荡机理与失稳诱因;③ 熟练运用Matlab与PSCAD联合仿真平台,完成从建模、小信号扰动仿真、数据采集到频域分析的全流程研究,服务于新型电力系统稳定性分析与控制器设计优化。; 阅读建议:建议读者在掌握电力系统小信号稳定性理论的基础上,结合文中提供的Matlab与PSCAD仿真案例进行实践操作,重点关注阻抗提取的仿真设置、频率扫描策略、数据处理方法以及Nyquist判据在多输入多输出系统中的应用细节,以深入理解系统振荡的成因、传播路径及抑制策略。
内容概要:本文围绕基于混沌系统与DNA编码的彩色数字图像加密解密体系展开研究,提出了一种多层级、高复杂度的复合加密方案。通过结合混沌系统的伪随机遍历特性与DNA编码的海量组合优势,实现了对彩色图像RGB三通道的像素混淆与扩散,有效提升了加密算法的密钥空间与抗破解能力。研究重点包括加密解密流程设计、密钥敏感性分析,并系统性开展了抗噪声与抗裁剪性能测试。实验结果表明,该算法在面对高斯噪声、椒盐噪声及不同程度的图像裁剪攻击时,仍能较好地恢复图像主体结构与核心信息,展现出优异的鲁棒性与实用性。; 适合人群:具备一定图像处理或信息安全基础知识的科研人员、研究生及从事多媒体安全技术开发的工程技术人员。; 使用场景及目标:①用于保障彩色图像在开放网络环境中的安全传输与存储;②应对图像在传输过程中遭受的噪声干扰与恶意裁剪攻击;③为高鲁棒性图像加密算法的设计与评估提供理论依据和技术参考。; 阅读建议:建议读者结合Matlab代码实现,深入理解混沌序列生成、DNA编码映射及像素置乱扩散的具体过程,并通过复现实验验证算法在不同干扰场景下的性能表现。

13,096

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧