我想从main方法更新我的matrixlist。在我的main方法中,我创建了一个对象来更新我的matrixlist。 我想在main方法中的循环内执行一些操作后更新我的矩阵列表。 因此,我打算在main方法中更新循环内部的对象。
这就是我的MatrixList的样子: -
public class MatrixList {
private static double N1;
..................
...........
...............
private static double N4;
private static List<Double> IN1= new ArrayList<>();
.....................
....................
....................
private static List<Double> IN4 = new ArrayList<>();
public static void setIN1(double N1) {
MatrixList.N1=N1;
IN1.add( MatrixList.N1);
}
...............
.......................
.....................
public static void setIN4(double N4) {
MatrixList.N4=N4;
IN4.add( MatrixList.N4);
}
public static List<Double> getIN1() {
return MatrixList.N1;
}
....................
.....................
.................
public static List<Double> getIN4() {
return MatrixList.N4;
}
}
}
这是我的主要方法: -
public class test {
public static void main(String args[])
{
ReadCSV readcsv = new ReadCSV();
readcsv.ReadCSV();
MatrixSerialInitialize init = new MatrixSerialInitialize();
init.matrix_initialize();
for(int i=0;i<2;i++)
{
init.matrix_initialize();
}
int i=0;
for(Double d:MatrixList.getIN4())
{
System.out.println(d);
System.out.println("i,"+i);
i++;
}
}
这是我初始化我的矩阵的方式: -
public class MatrixSerialInitialize {
public void matrix_initialize()
{
double j=-0.8164;
for (int i = 0; i < 4; i++) {
while(j==0)
{
j+=0.051025;
}
MatrixList.setIN1(j);
j+=0.051025;
while(j==0)
{
j+=0.051025;
}
..................
..................
MatrixList.setIN4(j);
j+=0.051025;
}
}
}
但在更新循环内部的对象后,我遇到的是我的列表已更新三次。这不是我想要的。我想更新列表中的先前值。
是因为静态列表还是有什么方法可以更新循环内的列表?
有人可以帮我解决这个问题吗?