1.package shop;
/** 商品物件類
* 自定義類 shop.Article*/
public class Article {?
//名字? 單價(jià)? 庫存? 已賣數(shù)量? public String name;?
? public double price;?
public int amount;?
? public int number;? ?
public void print(int index){? ? ? System.out.println(index+"\t"+name+"\t"+price+"\t"+amount+"\t"+number);?
? }
? public void setArticle(String mingzi,double danjia, int kucun, int shouchu){? ? ? name=mingzi;? ? ?
? price=danjia;? ? ?
? amount=kucun;? ? ?
? number=shouchu;? ?
? ? ? }
}
2.package shop;
import java.util.Scanner;
public class ArticleMange {
? ArticleSet articleSet = new ArticleSet();?
//倉(cāng)庫初始化? 放入一些商品? public void initial(){? ? ? Article xiaomi11 = new Article();? ?
? xiaomi11.setArticle("小米11",1999,30,0);? ? ? Article xiaomi11Pro = new Article();? ? ? xiaomi11Pro.setArticle("小米11Pro",2999,10,0);? ? ? Article xiaomiUltra = new Article();? ?
? ? xiaomiUltra.setArticle("小米至尊版",3999,20,0);? ? ?
articleSet.articles[0]=xiaomi11;? ? ? ?
articleSet.articles[1]=xiaomi11Pro;? ?
? articleSet.articles[2]=xiaomiUltra;?
? }? ? //啟動(dòng)菜單
? public void startMenu(){? ? ? boolean flag= true;? ?
? ? do {? ? ? ? ? System.out.println("*******************************");? ? ?
? System.out.println("1.查看商品信息");? ? ? ? ? System.out.println("2.新增商品信息");? ? ? ? ? System.out.println("3.刪除商品信息");? ? ? ? ? System.out.println("4.賣出商品信息");? ? ? ? ? System.out.println("5.商品銷售排行榜");? ? ? ? ? System.out.println("6.退出");? ? ? ? ? System.out.println("*******************************");
System.out.println("請(qǐng)輸入功能編號(hào):");? ? ? Scanner scanner= new Scanner(System.in);? ? ? ? ? int funNo=scanner.nextInt();? ? ? ? ? ?
switch (funNo){? ? ? ? ? ? ? case 1:? ? ? ? ? ? ?
? ? System.out.println("1.查看商品信息");? ? ? ? ? ? ? ? ? chakan();? ? ? ? ? ? ? ? ? break;? ? ? ? ? ?
? case 2:
System.out.println("2.新增商品信息");? ? ? ? ? ? ? ? ? add();? ? ? ? ? ? ?
? break;? ? ? ? ? ? ? case 3:? ? ? ? ? ? ? ? ? System.out.println("3.刪除商品信息");? ? ? ? ? ? ? delete();? ? ? ? ? ? ? ?
? ? break;? ? ? ? ? ?
? case 4:
System.out.println("售出商品信息");? ? ? ? ? ? ? ? ? saleOut();? ? ? ? ? ? ? ? ?
break;? ? ? ? ? ? ?
case 5:?
System.out.println("排行榜");? ? ? ? ? ? ? ? ? leadeBand();? ? ? ? ? ? ?
? ? break;? ? ? ? ? ?
? case 6:? ? ? ? ? ? ? ? ?
System.out.println("謝謝");? ? ? ? ? ? ? ? ? flag = false;? ? ? ? ? ? ? ?
? break;? ? ? ? ? ?
? default:? ? ? ? ? ?
? System.out.println("請(qǐng)輸入正確的功能編號(hào)");? ? ? break;? ? ? ?
? }? ? ?
? }while (flag);
? }
? private void leadeBand() {? ? ?
? /*? ? ? ?
* 降序排序? ? ?
* for() 所有元素全部參與排序? ? ?
*? ? for() 當(dāng)前元素和后面的元素比較? ? ?
*? ? ? ? ? if (當(dāng)前元素<后續(xù)元素小)*/? ?
? //排序? ? ? for(int i=0; i<articleSet.articles.length-1;i++){? ? ? ? ? for (int j=0;j<articleSet.articles.length-i-1;j++){? ? ? ? ? ? ? if (articleSet.articles[j] !=null&&articleSet.articles[j+1] !=null){? ? ? ? ? ? ? ? ? if (articleSet.articles[j].number<articleSet.articles[j+1].number){? ? ? ? ? ? ? ? ? ? ? Article newTamp=articleSet.articles[j];? ? ? ? ? ? ? ? ? ? ? articleSet.articles[j]=articleSet.articles[j+1];? ? ? ? ? ? ? ? ? ? ? ? articleSet.articles[j+1]=newTamp;? ? ? ? ? ? ? ? ? ? }? ? ? ?
? ? ? }? ? ?
? ? }? ? ?
}? ? ?
//打印結(jié)果? ? ? System.out.println("******************");? ? ?
? System.out.println("名次\t銷售數(shù)量\t商品名稱");? ? ? for (int i=0;i<articleSet.articles.length;i++){? ? ? ? ? if (articleSet.articles[i]!=null){? ? ? ? ? ? ? System.out.println(i+1+"\t"+articleSet.articles[i].number+"\t"+articleSet.articles[i].name);? ? ? ? ? ? }? ?
? ? }?
}
private void saleOut() {? ? ? System.out.println("請(qǐng)輸入你要售賣的商品名稱:");? ? ? Scanner scanner=new Scanner(System.in);? ? ? ? String name=scanner.next();? ? ? for (int i=0;i<articleSet.articles.length;i++){? ? ? ? ? if((articleSet.articles[i].name).equals(name)){? ? System.out.println("請(qǐng)選擇你要售賣的數(shù)量:");
int shoumai= scanner.nextInt();? ? ? ? ? ? ? if (shoumai<articleSet.articles[i].amount){? ? ? ? ? ? ? ? ? articleSet.articles[i].amount=articleSet.articles[i].amount-shoumai;? ? ? ? ? ? ? ? ? articleSet.articles[i].number=articleSet.articles[i].number+shoumai;? ? ? ? ? ?
? ? }? ? ? ?
? }? ? ?
? }?
}?
private void delete() {? ? ?
System.out.println("請(qǐng)輸入要?jiǎng)h除的商品編號(hào):");? ? ? Scanner scanner=new Scanner(System.in);? ? ? ? int bianhao = scanner.nextInt();? ? ? ? boolean flag=true;? ? ? for (int i=0;i<articleSet.articles.length;i++){? ? ? ? ? if (articleSet.articles[i] !=null && (i+1)==bianhao){? ? ? ? ? ? ? int j=1;? ? ? ? ? ? ? while (articleSet.articles[j+1] !=null){? ? ? ? ? ? ? ? ? //后面的元素向前移動(dòng)? ? ? ? ? ? ? ? ? articleSet.articles[j]=articleSet.articles[j+1];? ? ? ? ? ? ? ? ? j++;? ? ? ? ? ?
? }? ? ? ? ? ? ?
articleSet.articles[j]=null;? ? ? ? ?
? ? flag=true;? ? ? ? ? ?
break;
//后續(xù)的空數(shù)組元素沒有必要執(zhí)行? ? ?
? ? }else {? ? ? ? ?
? ? flag = false;? ? ? ?
? }? ? ? ?
}? ?
if (flag){? ? ?
? ? System.out.println("刪除成功");? ?
? }else {? ? ? ?
System.out.println("刪除失敗");? ?
? }?
? }
private void add() {? ? ? Scanner scanner = new Scanner(System.in);? ? ? ? System.out.println("請(qǐng)輸入商品的名稱:");? ? ? String name = scanner.next();? ? ? System.out.println("請(qǐng)輸入單價(jià):");? ? ? double price= scanner.nextDouble();? ? ? System.out.println("請(qǐng)輸入庫存:");? ? ? int count= scanner.nextInt();? ? ? System.out.println("請(qǐng)輸入已賣的數(shù)量");? ? ? int number= scanner.nextInt();? ? ? Article newArticle = new Article();? ? ? newArticle.setArticle(name,price,count,number);? ? ? for (int i=0;i<articleSet.articles.length;i++){? ? ? ? ? if (articleSet.articles[i]==null){? ? ? ? ? ? ? articleSet.articles[i]=newArticle;
//把新建的對(duì)象放在數(shù)組中的第一個(gè)空位置? ? ? ? ? ? ? break;
//后續(xù)的空位置直接跳過? ? ? ? ?
}? ? ?
? }? ?
}?
? public void chakan(){? ? ? System.out.println("編號(hào) \t 名字 \t 單價(jià) \t 庫存 \t 已售");? ? ? for (int i=0;i<articleSet.articles.length;i++){? ? ? ? ? if (articleSet.articles[i] !=null){? ? ? ? ? ? ? articleSet.articles[i].print(i);? ? ? ? ?
}? ? ?
? }?
}
}
3.package shop;
/*
* 商品集合
* 倉(cāng)庫進(jìn)行管理商品
*/
public class ArticleSet {
Article[] articles = new Article[30];
}
4.ackage shop;
public class Demo {?
? public static void main(String[] args) {? ? ?
? ArticleMange articleMange = new ArticleMange();? ? ?
articleMange.initial();? ? ? articleMange.startMenu();?
}
}