实现题目:通过arrayList存储数据实现以下内容
将对下列功能进行方法封装:
打印库存清单功能
库存商品数量修改功能
退出程序功能
代码实现:
import java.util.ArrayList;
import java.util.Scanner;
public class FunctionTest {
public static ArrayList<Product> productList = new ArrayList<Product>();
public static void main (String[] args){
init();
Scanner input=new Scanner(System.in);
//一直监听控制台
while(true){
printTips();
int op=input.nextInt();
switch(op){
//控制台输入1.打印输出已存在的内容;
case 1: System.out.println(productList);break;
//控制台输入2,则提示输入商品名称,输入商品名称后,提示输入数量;
case 2: modify(input);break;
//控制台输入3,跳出程序;
case 3: System.exit(0);break;
default:System.out.println("请输入正确的操作序号");
}
}
}
private static void printTips(){
System.out.println("balabala");
}
private static void modify(Scanner scanner){
System.out.println("请输入商品名");
String name=scanner.next();
System.out.println("请输入商品数量");
int count=scanner.nextInt();
if(count>=0) {
Product p = null;
for (Product product : productList) {
if (product.getProductName().equals(name)) {
p = product;
}
}
if (p == null) {
p = new Product();
p.setProductName(name);
productList.add(p);
}
p.setProductCount(count);
}else{
System.out.println("商品数量不能小于0");
}
}
private static void init(){
Product product = new Product();
product.setProductName("donghua");
product.setProductCount(5);
productList.add(product);
Product product1 = new Product();
product1.setProductName("english");
product1.setProductCount(3);
productList.add(product1);
}
static class Product{
private String productName;
private int productCount = 0;
public void setProductName(String productName){
this.productName = productName;
}
public void setProductCount(int productCount){
if (productCount>=0){
this.productCount=productCount;
}
}
public String getProductName(){
return productName;
}
public int getProductCount(){
return productCount;
}
public void increaseAccount(int count) {
if (count > 0) {
setProductCount(getProductCount() + count);
}
else{
System.out.println("增加数量小于0,不允许增加");
}
}
public void discraseAccount(int count){
if(count<0) {
System.out.println("减少的数量小于0,不允许操作!!");
}
else if(getProductCount()>count){
setProductCount(getProductCount()-count);
}
else {
System.out.println("减少的数量大于库存数量,不允许操作!!");
}
}
@Override
public String toString() {
return "{productName: " + productName + ", productCount: " + productCount + "}";
}
//以下是添加、删除的实现
// ArrayList<Product> productList = new ArrayList<Product>();
// Product product = new Product();
// product.setProductName("donghua");
// product.setProductCount(5);
// productList.add(product);
//
// Product product1 = new Product();
// product1.setProductName("english");
// product1.setProductCount(3);
// productList.add(product1);
// System.out.println(productList);
//
// product.increaseAccount(2);
// System.out.println(product);
//
// product.increaseAccount(-2);
// System.out.println(product);
//
// product1.discraseAccount(6);
// System.out.println(product1);
//
// product1.discraseAccount(-1);
// System.out.println(product1);
//
// System.out.println(productList);
}
}