Java 向ArrayList中添加其remplace之前的所有数据时出现问题

Java 向ArrayList中添加其remplace之前的所有数据时出现问题,java,arraylist,Java,Arraylist,我正在尝试读取文件81个Double文件,并将每个文件16个Double/文件放在Double[]上,之后我创建了一个objet DataObjectDouble[],int类,我想将我创建的DataObject的每个实例添加到我的ArrayList中,但最后,我在ArrayList中有81个相同的元素,这是我读取的最后一个文件的数据,需要帮助。 谢谢.`public static void.org[]args{ 缓冲读取器 while (x <= 9){ try{

我正在尝试读取文件81个Double文件,并将每个文件16个Double/文件放在Double[]上,之后我创建了一个objet DataObjectDouble[],int类,我想将我创建的DataObject的每个实例添加到我的ArrayList中,但最后,我在ArrayList中有81个相同的元素,这是我读取的最后一个文件的数据,需要帮助。 谢谢.`public static void.org[]args{ 缓冲读取器

    while (x <= 9){
        try{
            reader = new BufferedReader(new FileReader("C:\\Users\\pc\\Documents\\NetBeansProjects\\RF\\src\\E34\\s0"+x+"n00"+y+".E34"));
            String line= reader.readLine();       
            while(line !=null){
                try{
                    d[i] = Double.valueOf(line);
                    System.out.println(d[i] + " is a double.");
                    i++;  
                }catch(NumberFormatException e){
                    System.err.println("Not Double ' "+line+" '");
                }
                line=reader.readLine(); 
            }
        }catch(Exception ex){
            System.err.println(ex.getMessage());
        } 
        // AJOUT DE L'OBJET**************************************************************************
        obj = new DataObject(d, x);
        list.add(obj);
        System.out.println("objet ajouté");
        // REINITIALISATION du tableau d **********************************************************
        i = 0;
        y++;
        // CONDITION SUR LES FICHIER A LIRE***********************************************************
        if(y == 10){
            x++; y = 1;
        }
    }
    // LECTURE DES DONNEE *****************************************************************
    for(int n = 0; n < list.size(); n++){
        System.out.println(list.get(n).toStringObj());
    }`
}`

这就是结果


81行相同的数据,但类码不是到处都被9删除。

谢谢大家,我找到了解决方案,调用DataObject obj=new DataObjectd,x;他总是用相同的d来调用,这就是为什么我得到了相同的结果,我用obj=newdataobjectd.clone,x;它可以工作。

在定义的主要方法中,d和x在哪里使用?公共静态int k=1,i=0,x=1,y=1,n=0;公共静态双精度[]d=新双精度[16];
public DataObject(double[] data, int classCode) {
   //assert data.length == 100; //maximum array length of 100
   this.data = data;
   this.classCode = classCode;
}

public String toStringObj() {
       return "Class Code: " + classCode + " Data :" + Arrays.toString(data) + "\n"; //outputs readable
}

public double[] getData() {
       return data;
}

public int getClassCode() {
       return classCode;
}