您好我正在尝试为视频商店制作一个程序。当用户雇用视频时,我希望在租用时从inStock feild获得array
到-1
。如何在array
中搜索用户输入的videoID并从instock feild中删除1
?
// this is my arraylist (Sting videoID, String Title, double Price, int inStock)
videos[0]=new Video("140","The Matrix ", 7.50, 3);
videos[1]=new Video("141", "Terminator 2 ", 5.00, 3);
videos[2]=new Video("142", "Shrek ", 5.00, 10);
答案 0 :(得分:2)
List<Video> videoList = new ArrayList<Video>();
Video v = new Video();
v.setVideoId("140");
v.setPrice(7.50);
v.setTitle("The Matrix");
v.setInStock(3);
videoList.add(v);
Video v2 = new Video();
v2.setVideoId("141");
v2.setPrice(5.00);
v2.setTitle("The Matrix");
v2.setInStock(3);
videoList.add(v2);
Video v3 = new Video();
v3.setVideoId("142");
v3.setPrice(5.00);
v3.setTitle("Shrek");
v3.setInStock(10);
videoList.add(v3);
String hire = "141";
int quantity = 2;
for(Video video : videoList){
if(video.getVideoId().equals(hire)){
if(video.getInStock()>0)
video.setInStock(video.getInStock() - quantity);
}
}
答案 1 :(得分:0)
也许您应该在Video类中添加一个新方法来更新当前的库存。
然后使用;
videos[<a-value>].updateStock();
或者您可以简单地使用setter来更改值。
videos[<a-value>].setStock(<another-value>);
但是,您的模型似乎太简单而且不太相关。 您应该创建另一个类来表示“关联表”。 然后,您可以录制租金(user_id,video_id,rent_nb,日期)。
您将能够跟踪用户,查看租借日期,号码等。
美好的一天!
答案 2 :(得分:0)
使用Array是一个坏主意。
ArrayList
的{{1}}。
ArrayList
现在将您的视频添加到ArrayList ArrayList<ArrayList> videos = new ArrayList<ArrayList>();
。
例如: -
videos
现在将此ArrayList<String> video = new ArrayList<String>();
video.add("140");
video.add("Shrek");
video.add("5");
video.add(10);
添加到video
videos
要删除视频,请执行此操作;
videos.add(video);