我怎样才能将我的对象的百分比构造为女性?
How can I construct a percentage of my objects as female?
我有一个代理 class 可以做以下事情:
public class Agent {
private Context<Object> context;
private Geography<Object> geography;
public int id;
boolean female;
public Agent(Context<Object> context, Geography<Object> geography, int id, boolean female) {
this.id = id;
this.context = context;
this.geography = geography;
this.female = female;
}
... setters getters
... do things methods
}
在上下文构建器 class 中,我的特工被添加到上下文中(地理 space 由纬度和经度坐标组成),我想将我的特工的随机百分比设置为女性(女性 = 真)。
for (int i = 0; i < 100; i++) {
Agent agent = new Agent(context, geography, i, false);
int id = i++;
if(id > 50) {
boolean female = true;
}
context.add(agent);
//specifies where to add the agent
Coordinate coord = new Coordinate(-79.6976, 43.4763);
Point geom = fac.createPoint(coord);
geography.move(agent, geom);
}
我相信上面的代码将最后 50 个特工构造为女性。我怎样才能使它们随机创建为女性?我改变了创建的代理数量。
使用您的代码,您总是创建一个男性代理。
在创建 Agent
:
的实例之前尝试评估它是否是女性
Agent agent = null;
boolean isFemale = false;
for (int i = 0; i < 100; i++) {
int id = i++;
if(id > 50) {
isFemale = true;
}
agent = new Agent(context, geography, i, isFemale);
context.add(agent);
//specifies where to add the agent
Coordinate coord = new Coordinate(-79.6976, 43.4763);
Point geom = fac.createPoint(coord);
geography.move(agent, geom);
}
如果你想要随机的,尝试使用随机工具:
Random random = new Random();
agent = new Agent(context, geography, i, random.nextBoolean());
希望这对您有所帮助
Random random = new Random();
for (int i=0; i < 100; i++)
{
boolean isFemale = (random.Next(2) % 2 == 1);
...
}
您可以在 for 循环之外创建一个 Random 实例,并使用 random.nextBoolean() 作为 agent() 的布尔女性属性的参数。
我有一个代理 class 可以做以下事情:
public class Agent {
private Context<Object> context;
private Geography<Object> geography;
public int id;
boolean female;
public Agent(Context<Object> context, Geography<Object> geography, int id, boolean female) {
this.id = id;
this.context = context;
this.geography = geography;
this.female = female;
}
... setters getters
... do things methods
}
在上下文构建器 class 中,我的特工被添加到上下文中(地理 space 由纬度和经度坐标组成),我想将我的特工的随机百分比设置为女性(女性 = 真)。
for (int i = 0; i < 100; i++) {
Agent agent = new Agent(context, geography, i, false);
int id = i++;
if(id > 50) {
boolean female = true;
}
context.add(agent);
//specifies where to add the agent
Coordinate coord = new Coordinate(-79.6976, 43.4763);
Point geom = fac.createPoint(coord);
geography.move(agent, geom);
}
我相信上面的代码将最后 50 个特工构造为女性。我怎样才能使它们随机创建为女性?我改变了创建的代理数量。
使用您的代码,您总是创建一个男性代理。
在创建 Agent
:
Agent agent = null;
boolean isFemale = false;
for (int i = 0; i < 100; i++) {
int id = i++;
if(id > 50) {
isFemale = true;
}
agent = new Agent(context, geography, i, isFemale);
context.add(agent);
//specifies where to add the agent
Coordinate coord = new Coordinate(-79.6976, 43.4763);
Point geom = fac.createPoint(coord);
geography.move(agent, geom);
}
如果你想要随机的,尝试使用随机工具:
Random random = new Random();
agent = new Agent(context, geography, i, random.nextBoolean());
希望这对您有所帮助
Random random = new Random();
for (int i=0; i < 100; i++)
{
boolean isFemale = (random.Next(2) % 2 == 1);
...
}
您可以在 for 循环之外创建一个 Random 实例,并使用 random.nextBoolean() 作为 agent() 的布尔女性属性的参数。