| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 857 人关注过本帖
标题:NB部分代码不执行
只看楼主 加入收藏
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
结帖率:33.33%
收藏
 问题点数:0 回复次数:11 
NB部分代码不执行
开发环境jdk1.5 NB版本:5.5.1
在运行下面方法的时候红字代码总是直接跳过,可是用eclipse3.2运行下列代码却可以运行
public ArrayList filter(ArrayList list) {
int count = 0;
int length = list.size();
for (int i = 0; i < length; i++) {
for (int j = i; j < length; j++) {
if (list.get(i).equals(list.get(j))) {
count++;
} else {
break;
}
}
if (count >1) {
for (int k=i; k<count; k++) {
list.remove(i);
length--;
}
}
count = 0;
}
return list;
}

用过NB的能不能给解释一下啊!
搜索更多相关主题的帖子: 代码 
2007-10-05 17:48
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
lz的目的是想把ArrayList中连续一样的元素合并吧?
代码本身有问题:

public static ArrayList<?> filter(ArrayList<?> list) {
int count = 0;
int length = list.size();
for (int i = 0; i < length; i++) {
for (int j = i; j < length; j++) {
if (list.get(i).equals(list.get(j))) {
count++;
} else {
break;
}
}
if (count >1) {
for (int k=i; k<count+i-1; k++) {
list.remove(i);
length--;
}
}
count = 0;
}
return list;
}

My BlogClick Me
2007-10-05 18:45
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
如果你不使用泛型,就把 &lt;?&gt;去掉

My BlogClick Me
2007-10-05 18:46
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

另外,代码不必要写的那么复杂:


public List filter(List list) {
Object obj =null;
for(ListIterator itr =list.listIterator();itr.hasNext();){
Object cur =itr.next();
if(cur.equals(obj)) itr.remove();
else obj =cur;
}
return list;
}


My BlogClick Me
2007-10-05 18:54
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
谢谢了 受教 不过代码运行到那地方还是跳过去了,没有其他的办法了吗?

[此贴子已经被作者于2007-10-5 21:38:00编辑过]



2007-10-05 21:22
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
呵呵,我说呢,怎么 会和IDE有关呢

可惜不是你,陪我到最后
2007-10-05 21:24
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
冰封帮我看一下啊!还是不行啊!

2007-10-05 21:38
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
以下是引用lgdcky在2007-10-5 21:22:50的发言:
谢谢了 受教 不过代码运行到那地方还是跳过去了,没有其他的办法了吗?

跳过出?
你是怎么确定这段代码没有运行?


My BlogClick Me
2007-10-05 21:40
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
在DEBUG模式下运行,当有重复的要移除的时候,就会到
if (count >1) {
for (int k=i; k<count+i-1; k++) {
list.remove(i);
length--;
}这段代码,可是在判断了count>1之后就直接跳到了count=0;移除这段代码根本就没有运行!这段代码只有在eclipse中才能正常跑!

2007-10-05 21:43
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 

自己改了以下,重新编译了一下就好了!晕死,eclipse用多了,老不编译的!问题解决了!


2007-10-05 22:02
快速回复:NB部分代码不执行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012913 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved