java对象值更新内部循环将值添加到列表中,而不是更新列表
我想从main方法更新我的矩阵列表。在我的主要方法中,我创建了一个对象来更新我的矩阵列表。 在main方法的循环中执行一些操作之后,我想更新我的矩阵列表。 因此,有了这个意图,我在main方法中更新了循环内的对象
我的矩阵列表是这样的:-
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;
}
}
}
但在更新我的循环中的对象之后,我遇到的是我的列表被更新了三次。这不是我的本意。我想更新列表中以前的值
是因为静态列表,还是有什么方法可以更新循环中的列表
有人能帮我吗
共 (0) 个答案