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

时间:2018-01-16 02:12:23

标签: java

我是一名新程序员,试图使用GUI制作程序。我想输入数据,以便我可以在文本字段中输入名称,重量和高度。我完成了这部分,但我不知道如何用对象存储它们。

按下按钮后,按下按钮时会显示此代码

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

我的文本字段名称存储为nameInput / heightInput / weightInput,但我觉得我不应该使用ArrayList。我也希望能够创建其他对象,所以我不想使用一种无​​法替换的存储类型。对不起,如果我不能解释那么好,因为我对此非常新,但是将不胜感激。谢谢!

4 个答案:

答案 0 :(得分:1)

您可以通过首先定义一个类(标题为'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);
    }
}

希望这有帮助!

答案 1 :(得分:1)

我想问题是你想对你收集的数据做些什么。 例如,当数据存储不是永久性的并且您想要遍历列表时,ArrayList是合适的。 如果要永久存储数据,则应考虑使用MySQL等数据库。 你想对数据做什么?你的项目是什么?

答案 2 :(得分:1)

在面向对象编程中考虑一个对象及其定义,当您尝试存储多个相同类型的对象时,则在其上添加一个集合。在实现这样的事情时尝试使用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);
}

您可以使用PersonModel作为View的dataSource,这样您就可以在UI中显示列表中所有人员的列表,从而可以执行添加,删除,更新等操作。 当您创建新人时,UI将为空白。 当您更新现有用户时,将使用基于id的人员的当前值填充UI。 删除用户时,不应显示与Person对应的UI。

等等。

希望这有帮助。

答案 3 :(得分:0)

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

ExampleObject eo = new ExampleObject(nameInput, heightInput, weightInput);

您还可以声明一个新对象,然后使用setter将这些值放入该对象中,如下所示:

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

这取决于你如何构建你的对象。