import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Vector;
public class TippSpeicher {
Tipp t = new Tipp();
Lottospiel spiel = new Lottospiel();
int[] feld;
List<int[]> tipspeicher = new Vector<int[]>(Arrays.asList(feld));
public void tippsabspeichern(){
feld=spiel.getTipp(); //geTipp is a method returning an array.
tipspeicher.add(0, feld);
feld = tipspeicher.get(0);
System.out.println(Arrays.toString(feld)); // here i can see the array
from getTipp; so far everything is fine.
}
public int[] tippAbrufen(){ // in this method i want to create the
possibility to gain acces to the Vector for other classes.
int [] fld = tipspeicher.get(0);
System.out.println(Arrays.toString(fld));
return fld;
// doesnt help if i take the array feld that i created before bytheway.
}
}
// Completly knew class here:
public void auswertung(){
TippSpeicher ts = new TippSpeicher();
Ziehungsspeicher zs= new Ziehungsspeicher();
int[] tippfeld=ts.tippAbrufen();
int[] ziehungsfeld=zs.ziehungAbrufen();
.... this method goes on but there can't be the fault.
所以我希望你得到我想要的东西......但不知怎的,它不起作用。
我生成一个数组。想要保护它。并希望从矢量中取回它。(!是的,它需要是一个矢量)。
我得到的结果是null;所以在保存方法中需要有一个错误......至少这就是我的想法。
答案 0 :(得分:0)
很难从scacre代码示例中得知,但如果tipspeicher包含空条目,那么原因很可能是Lottospiel.getTipp()返回null而不是数组。你应该检查Lottospiel的实现。
要对此进行调试,请尝试在插入向量的每个位置之前添加IF语句,即
if(feld == null) throw new RuntimeException("feld was null");
甚至更好,在调试器中逐步执行代码。