Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将输入值存储到对象中?_Java - Fatal编程技术网

Java 如何将输入值存储到对象中?

Java 如何将输入值存储到对象中?,java,Java,我是一个新的程序员,试图用GUI制作一个程序。我想输入数据,以便在文本字段中输入姓名、体重和身高。我已经完成了这部分,但我不知道如何将它们与对象一起存储 按下一个按钮后,我有这个按钮按下时的代码 ArrayList tempArray = new ArrayList(3); tempArray.add(nameInput); tempArray.add(heightInput); tempArray.add(weightInput); 我的文本字段名存储为nameInp

我是一个新的程序员,试图用GUI制作一个程序。我想输入数据,以便在文本字段中输入姓名、体重和身高。我已经完成了这部分,但我不知道如何将它们与对象一起存储

按下一个按钮后,我有这个按钮按下时的代码

ArrayList tempArray = new ArrayList(3);
    tempArray.add(nameInput);
    tempArray.add(heightInput);
    tempArray.add(weightInput);

我的文本字段名存储为nameInput/heightInput/weightInput,但我觉得我不应该使用ArrayList。我还希望能够创建其他对象,因此我不希望使用无法替换的存储类型。很抱歉,如果我不能很好地解释,因为我对这一点很陌生,但如果能提供帮助,我们将不胜感激。谢谢大家!

如果您有一个要保存这些值的对象,我认为也不必使用ArrayList。但是,如何使用这些值构建对象在某种程度上取决于您。这取决于存储值的对象是什么,以及计划如何构造该对象。例如,您可以通过构造函数将所有这些值传递到对象中,如下所示:

ExampleObject eo = new ExampleObject(nameInput, heightInput, weightInput);
您还可以声明一个新对象,然后使用setter将这些值放入该对象,如下所示:

ExampleObject eo = new ExampleObject();
eo.setName(nameInput);
eo.setHeight(heightInput);
eo.setWeight(weightInput);

这实际上取决于您如何构建对象。

您可以通过首先定义一个类(名为“person”或其他什么)来创建对象,如下所示:

class Person {

    // Instance variables.
    String name;
    double weight, height;

    public Person(String pName, double pWeight, double pHeight) {
        this.name = pName;
        this.weight = pWeight;
        this.height = pHeight;  
    }

    public static void main(String[] args) {
        // To create an object of type Person.
        Person p = new Person("Alice", 70, 170);
        // Or in your case.
        Person q = new Person(nameInput, weightInput, heightInput);
    }
}

希望这有帮助

我想问题是你想如何处理你收集的数据。 例如,当数据存储不是永久性的,并且您希望遍历列表时,ArrayList是合适的。 如果你想永久存储数据,你应该考虑使用一个数据库,比如MySQL。
您想对这些数据做什么?你的项目是什么?在面向对象编程中,

< P>考虑一个对象和它的定义,当你试图存储同一类型的多个对象时,你会在它上面添加一个集合。在实现类似的东西时,请尝试使用MVC,这样您就可以获得清晰可读的代码和隔离的视图、模型和控制器逻辑。使其易于理解。首先在你想要的东西上画一张纸,然后识别对象、屏幕和模型,然后你就可以开始写代码了,一旦你在一张纸上把所有东西都弄清楚了,这可能会花更少的时间

class Person {
    String id;
    String name;
    ....
}

PersonModel {
     Map<String, Person> collectionOfPersons = new HashMap<String, Person>();
     Person getPersonById(String id);
     void addPerson(Person person);
     void removePerson(Person person);
     void updatePerson(Person person);
}
班级人员{
字符串id;
字符串名;
....
}
个人模型{
Map collectionOfPersons=newhashmap();
Person getPersonById(字符串id);
无效添加人(人);
无效解除人(人);
无效更新人(人);
}
您使用PersonModel作为视图的数据源,这样您可以在UI中显示列表中所有人员的列表,从而允许您执行添加、删除、更新等操作。 当您创建一个新人时,UI将为空。 当您更新现有用户时,UI将根据id使用该用户的当前值填充。 删除用户时,对应于该用户的UI不应可见

诸如此类


希望这能有所帮助。

我想这会管用的,但是如果我想制作多个人资料呢?这就是我的目标,但我不知道如何才能用这种方法创建多人。你想让你的对象保存多人的信息,还是只需要一组人。对于后者,您可以使用:
listOfPeople=newArrayList()
并且您可以继续将单个“Person”对象添加到此集合中,稍后可以对其进行迭代。对于前者,我建议创建一个包含上述ArrayList的新对象。这部分回答了问题,谢谢!但是,如果我想让多个不同的人,最多不限数量,该怎么办?因为我的项目可以制作许多外形,所以如果有意义的话,我需要一种自动生成新对象的方法。@rainer的回答有点涉及到这一点。如果您试图存储一组不同的
对象,则需要设置数据库或其他形式的持久性(可以是XML、JSON等)。但是,如果您真的希望潜力“无限”,那么您可能正在寻找一种数据库解决方案。然而,这是你必须自己做一些研究的事情。也许开始考虑?哦,好吧,我来查一下。谢谢你,我感谢你的帮助!没问题。顺便说一句,我觉得每个在这个问题上发帖的人都贡献了一些东西来帮助你。我建议考虑将答案的投票权提高作为一种善意的表示,并接受对你帮助最大的答案,这样你的问题就不会显得没有答案。我已经将所有答案都提高了投票权,但因为我没有15分或更多的分数,所以这些答案不会公开显示。我认为你很好地回答了我的问题,所以我给了你检查的东西:)是的,从我的理解来看,数据不会是永久性的,但我可以解释你所说的错误。我正在制作一个程序,你可以在其中输入数据(姓名、体重和身高),然后将一个人制作成个人资料,你可以编辑不同的人的个人资料,并可能更改他们的体重。这只是我整个项目的一部分,但这是我现在正在做的部分。