| 
 | 
 
5仿真币 
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。( q. t; P) q5 b/ ?! N% K 
 private boolean findPotentialPartner(){ 
5 |/ q: N1 {( ^# H2 w$ l5 Z  boolean value = false;3 f3 {; _6 d- |8 Q& T8 k( p7 ? 
   
7 R5 t5 X$ p$ n6 _( X, Z  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();) J1 q4 y. R% w7 z" k6 {$ L 
  Iterator iterator = grid.getIteratorAt(x, y);$ K& h& z& w+ o9 ~  n& L7 x 
  SexAgent ag1 = null;  ; r3 _( T9 s7 l- C  _ 
  SexAgent [] potenAgent = new SexAgent[20]; 
4 n# P' O5 P# B4 m1 X  int goodNumber = 0; 
8 M2 n7 I* b6 ~" _, P  while(iterator.hasNext()){2 p. i- Q! N4 `% b! k 
   System.out.println("XXXXXXXXXXXXXXXXXXXXX"); 
2 F% e0 @7 h; E' I- c+ l+ A   ag1 = (SexAgent)iterator.next(); 
6 g1 R3 s6 ^) F6 h% A' R   if((ag1.sex == FEMALE) 6 V# n3 L) h+ i 
     &&(!ag1.isCoupled())){ 
+ G6 ]( e8 y  D/ ~    System.out.println("YYYYYYYYYYYYYYYYYYYY");' O- Y7 ~$ Y" b7 a 
    potenAgent[goodNumber] = ag1;( |2 m( Z& M0 ]' @  s: p, x 
    goodNumber ++;) g  _3 r. G; k% _/ K  t: S5 ~! Z 
   } 
7 }& Z1 t. g- \4 x2 ?, `8 b& s: }  }$ V7 c6 T5 \8 c2 C7 K- N 
  2 j# d, c% }4 E. P 
  if(goodNumber >0){ 
' [  G& h3 M; R- e6 r     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");  
& L8 z9 Y, Z7 e2 `% |2 }7 \     Random rd1 = new Random();; m* B( Y& n  q 
     int select = rd1.nextInt(goodNumber); 
- n4 x. \" U) r( J! \8 I, l0 N     potentialParterner = potenAgent[select];, A5 p# V* ^0 o% m2 j 
     value = true; 
9 }0 f; Q8 I  V# h  } 
+ q1 k+ y+ @1 `' |0 V, ?4 d    return value; 
  U0 Q5 H- h6 M3 ~9 \5 M& M2 u. o }1 W1 V7 M+ j7 v8 u. z+ s2 }! T 
始终只能打印出XXXXXXXXXXXXXXXXXXXX,请各位帮帮忙。 |   
 
 
 
 
 
 |