数据存储类?

时间:2012-10-22 20:52:01

标签: java arrays class object

我只需要一个基本的解释。 我将创建一些示例代码,也许有人可以帮助我 - 已经工作了几个小时,但我只是不明白如何正确使用类与数组之类的东西。我已经阅读过javadocs的东西,但我仍然感到困惑。如果有人能告诉我如何解决这个问题,我会非常感激,因为这意味着我可以应用我想解决的问题,这个问题要大得多。

public class main{
    int id =0;
    double data1 = 0;
    double data2 = 0;
    double data3 = 0;    

    public static void main(String[] args){
            id++;  // do some stuff to the data. 
    }

    public class datastorage{ 

    /*I want to create an array of arrays in this class to store the
    hanging values from the main class 
    e.g. {{1,34.2,34.6,23.1}{2,38.2,33.6,22.6}}
    I then want to be able to call each array back to the main to display depending on
     which ID I choose. */
    }

2 个答案:

答案 0 :(得分:3)

为什么不定义一个单独的类来保存这些数据 - 然后维护这个类的实例列表?

例如,

public class MyClass { 
    int id =0; 
    double data1 = 0; 
    double data2 = 0;
    double data3 = 0;

    ...
}

然后在您的主要方法中,您可以使用ArrayList

ArrayList<MyClass> list = new ArrayList<MyClass>();
...

如果由于某种原因无法做到这一点,您仍然可以选择创建一个double[]数组来保存数据(如您所说)。

double[][] data = new double[4][MAX_ENTERIES];
data[0] = new double[]{1,34.2,34.6,23.1};
data[1] = new double[]{2,38.2,33.6,22.6};
...

要在data中查找特定ID,您只需循环遍历其数组:

for (double[] arr : data)
    if (arr[0] == someId)
        // do something

答案 1 :(得分:-1)

首先将Java coding standards放在心上。

您的命名惯例令人困惑。班级名称“主”?你可以做得更好。

您发布的代码非常令人困惑。我不知道从哪里开始。