如何从用户输入更改数组列表中的值?

时间:2017-03-05 18:43:59

标签: java arrays

我的ShoeLibrary课程中有一个arraylist。我还有另一个叫做Shoe的类,它有这个数组列表中变量的setter和getter。

ShoeLibrary Class

public class ShoeLibrary {

private ArrayList<Shoe> shoes;

public ShoeLibrary() {
    shoes = new ArrayList<Shoe>();
    shoes.add(new Shoe("Shoe 1", 100)); // the integer represents stock
    shoes.add(new Shoe("Shoe 2", 200));
    shoes.add(new Shoe("Shoe 3", 300));
}

在我的MainActivity GUI类中,我有一个输入对话框,用户输入整数值,然后将其添加到购物篮中。

当用户输入此值时,我需要一种方法来更新数组列表中的数字(股票)。我该怎么办呢。

1 个答案:

答案 0 :(得分:0)

我认为我的评论是正确的,并编写了一些基本代码来向您展示如何完成此操作。您需要根据自己的情况进行更改,并从GUI获取客户数据。您还需要进行错误检查。

public class Sandbox { //opens class

    public static void main(String[] args) {
        ArrayList<Shoe>shoes = new ArrayList<Shoe>();
        shoes.add(new Shoe("Shoe 1", 100)); // the integer represents stock
        shoes.add(new Shoe("Shoe 2", 200));
        shoes.add(new Shoe("Shoe 3", 300));
        Shoe temp;
        String shoeSelected = "Shoe 3"; // you need to use the customer's input here
        int numSeleted = 20; // again, you need this data from the customer input
        for (int i = 0; i < shoes.size(); i++) {
            temp = shoes.get(i);
            if(temp.name == shoeSelected) {
                shoes.get(i).setQuantity(temp.quantity - numSeleted);
                System.out.println(shoes.get(i).name);
                System.out.println(shoes.get(i).quantity);
            }
        }
        System.out.println("wait");
    }

}

class Shoe {
    String name;
    int quantity;

    public Shoe(String name, int quantity) {
        this.name = name;
        this.quantity = quantity;
    }

    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }
}