class A{ private static num1,num2;
static List<C> c; A(){
c = new ArrayList<C>;
} void receive(Mess message){
if(message instanceof lookup)
num1++;
else if(message instanceof takeme)
num2++;
} void write(){
c.add(new C(num1,num2));
} void output(){
for(C ins: c){
sysout(ins.getw1() +" " +ins.getw2());
}
} class C{
int w1,w2;
C(int w1, int w2){
this.w1 =w1;
this.w2=w2;
}
/***getter***/
}
}
由于类A的特殊性 所以必须字段都为static 否则输出结果不对 A内有嵌套类C num1,num2是计数器
这段代码最后会运行output方法 输出在arraylist里面每个index里存着的 w1,w2值 可是非常奇怪的是 w1值正常 w2的值死活都等于0
我测试过 在receive方法内 num2工作正常 就是说 num2++ 是有运行的 的出来的结果也不等于0 可是为什么作为参数传给C类 就是0呢了 而且怪就怪在 w1值是正常的
static List<C> c; A(){
c = new ArrayList<C>;
} void receive(Mess message){
if(message instanceof lookup)
num1++;
else if(message instanceof takeme)
num2++;
} void write(){
c.add(new C(num1,num2));
} void output(){
for(C ins: c){
sysout(ins.getw1() +" " +ins.getw2());
}
} class C{
int w1,w2;
C(int w1, int w2){
this.w1 =w1;
this.w2=w2;
}
/***getter***/
}
}
由于类A的特殊性 所以必须字段都为static 否则输出结果不对 A内有嵌套类C num1,num2是计数器
这段代码最后会运行output方法 输出在arraylist里面每个index里存着的 w1,w2值 可是非常奇怪的是 w1值正常 w2的值死活都等于0
我测试过 在receive方法内 num2工作正常 就是说 num2++ 是有运行的 的出来的结果也不等于0 可是为什么作为参数传给C类 就是0呢了 而且怪就怪在 w1值是正常的
楼主【iskohl】截止到2008-07-27 02:55:34的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:40 每贴平均分数:20
回帖的总数量:1 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:1 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:50.00 % 结分的百分比:50.00 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
谢谢
import java.util.List;class A { private static int num1, num2;
static List<C> c; A() {
c = new ArrayList<C>();
} void receive(Mess message) {
if (message instanceof lookup)
num1++;
else if (message instanceof takeme)
num2++;
} void write() {
c.add(new C(num1, num2));
} void output() {
for (C ins : c) {
System.out.println(ins.getw1() + " " + ins.getw2());
}
}
public static void main(String[] args){
A a = new A();
a.receive(new lookup());
a.receive(new takeme());
a.write();
a.output();
}
class C { int w1, w2; C(int w1, int w2) {
this.w1 = w1;
this.w2 = w2;
} public int getw1() {
return w1;
} public void setw1(int w1) {
this.w1 = w1;
} public int getw2() {
return w2;
} public void setw2(int w2) {
this.w2 = w2;
}
}
}
interface Mess {
}
class lookup implements Mess {
}
class takeme implements Mess {}