我的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类中,我有一个输入对话框,用户输入整数值,然后将其添加到购物篮中。
当用户输入此值时,我需要一种方法来更新数组列表中的数字(股票)。我该怎么办呢。
答案 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;
}
}