【发布时间】:2016-03-10 14:10:53
【问题描述】:
有一个foo 类,其ArrayList 为double msg,称为msgstoboo,还有一个方法setMsg(int index, double input) 用于更改msgstoboo 中的各个消息。
有一个networkoffoos 类,其中包含一个名为listoffoos 的foo 对象的ArrayList。有一个updatefoomsg 方法:
public void updatefoomsg (ArrayList<ArrayList<Foo>> Foonetwork)
{
for(int foolayer = 0; foolayer< foonetwork.size(); foolayer++)
for(int fooinlayer = 0; fooinlayer< foonetwork.get(foolayer).size(); fooinlayer++)
for(int msginfoo = 0; msginfoo < foonetwork.get(foolayer).get(fooinlayer).msgstoboo.size(); msginfoo++)
Foonetwork.get(foolayer).get(fooinlayer).setMsg(msginfoo,somerandomvalue)
}
updatefoomsg 的目标是更改msgstooboo 中各个消息的值。但是,foo 类 ArrayList `msgstoboo' 中的值没有改变。为什么会这样,我该如何解决?先感谢您。
更新:这是整个 foo 和 networkoffoos 类
public class foo
{
ArrayList<Double> msgstoboo = new ArrayList<Double>(Double);
public foo(int numofmessages)
{
for (int i = 0; i < numofmessages; i++)
{
msgstoboo.add(1);
}
}
public void setMsg(int index, double input)
{
msgstoboo.set(index,input);
}
&&
public class networkoffoos
{
ArrayList<ArrayList<foo>> foonetwork = new ArrayList<ArrayList<foo>>();
public void networkoffoos(int numoffoos)
{
for(int i = 0; i < numoffoos; i++)
foonetwork.add(new foo(somenumberofmsgs))
}
//**AND THE "updatefoomsg" method included in this post**
}
【问题讨论】:
-
发布
foo和networkoffoos类 -
在你可能想写的最后一个
for循环中:foonetwork.get(foolayer).get(fooinlayer).msgstoboo.size() -
完成。感谢您指出@Rakim 我正在尝试实现一个人工神经网络,我意识到部分问题是一个类中的数组内容没有通过另一个类中的方法更新。因此,出现了 foo 和 networkoffoos 示例。
标签: java oop arraylist getter-setter