Java 数据存储类?

Java 数据存储类?,java,arrays,class,object,Java,Arrays,Class,Object,我只需要一个基本的解释。 我将创建一些示例代码,也许有人可以帮助我-已经为此工作了几个小时,但我不知道如何正确使用类和数组之类的东西。我已经读过javadocs的内容,但是我仍然感到困惑。如果有人能告诉我如何解决这个问题,我会非常感激,因为这意味着我可以应用到我试图解决的更大的问题上 public class main{ int id =0; double data1 = 0; double data2 = 0; double data3 = 0;

我只需要一个基本的解释。 我将创建一些示例代码,也许有人可以帮助我-已经为此工作了几个小时,但我不知道如何正确使用类和数组之类的东西。我已经读过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. */
    }

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

比如说,

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

    ...
}
然后,在您的主要方法中,您可以使用:

要在
数据中查找特定id
,只需在其数组中循环:

for (double[] arr : data)
    if (arr[0] == someId)
        // do something
首先要牢记这一点

您的命名约定令人困惑。类名“main”?你可以做得更好


你发布的代码很混乱。我不知道从哪里开始。

也许是时候花点时间读一些基础知识了?当我粘贴它时,格式很糟糕=[这不仅仅是格式问题。例如,类名应该以大写字母开头。当你的类名是两个单词时,每个单词都应该以大写字母开头(
datastorage
应该是
datastorage
。变量应该声明为public、protected或private,通常公认的标准是private,在适当的情况下带有public或protected getter和setter。这就是为什么链接的教程将有助于您通读的原因。我理解您的意思,我同意但是,这只是我为演示我的问题而键入的一个快速模型。问题是,当你请求帮助时,列出的东西会分散那些试图帮助的人的注意力。他们看到这些东西,很难超越它们。这里的大多数人都想帮你,并且倾向于花更多的精力来指出把这些基本的东西交给你,然后回答你的实际问题。因为大多数人认为你需要在走路之前学会爬行。只是在寻求帮助时要记住一些事情。这不是真的可行-我几乎完成了,我真的不想更改我的代码的这一部分。我只想在一秒钟内将数据存储在数组中然后我可以理想地回忆起类?=教授,但是你能把它放在示例代码中吗?这样我就可以看到这两个类是如何相互作用的了。抱歉,我刚刚把它清理了一点。这只是我为了演示我的问题而快速键入的实际应用程序的基本框架。这段代码不应该被称为“框架”。投票结束,对不起。@duffymo虽然我同意你的看法,但这并不是一个真正的答案,而是一个评论。此外,如果你列出了至少几个项目,以及它们应该是什么,那么对于一些人来说,这将是一个学习的机会,而不是仅仅被认为是屈尊俯就的。Jschoon,我建议你停止评论,并艺术回答。如果你认为值得花时间做得更好,请继续。你没有提供我能看到的任何东西。Java编码标准的推荐肯定比你没有提供的东西更值得。
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};
...
for (double[] arr : data)
    if (arr[0] == someId)
        // do something