attribute包
package attribute;
public class Goodsinfor{
private int num;
private String name;
private double price;
public Goodsinfor(){
}
public Goodsinfor(int num,String name){
this.num=num;
this.name=name;
}
public int getNum(){
return num;
}
public void setNum(int num){
this.num=num;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getPrice(){
int price=getNum();
switch (price){
case 1:price=8;
break;
case 2:price=6;
break;
case 3:price=4;
break;
case 4:price=5;
break;
default:price=2;
}
return price;
}
}
package attribute;
public class Goodsinfor1 extends Goodsinfor{
private int num;
private String name;
private int price;
public Goodsinfor1(){
}
public Goodsinfor1(int num,String name,int price){
this.num=num;
this.name=name;
this.price=price;
}
public int getNum(){
return num;
}
public void setNum(int num){
this.num=num;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getPrice(){
return price;
}
public void setPrice(int price){this.price=price;}
}
mainclass类
package mainclass;
public class Goods {
public static void main(String[] args) throws LandException {
System.out.println("#################");
System.out.println("欢迎来到**超市");
System.out.println("################");
Salesperson person=new Salesperson();
person.use();
}
}
package mainclass;
import javax.swing.*;
public class Person {
public void land(String num) throws LandException{
if(num!="1")
throw new LandException("密码错误,不合理");
else
System.out.println("密码正确");
}
public void use(){
Person p=new Person();
String m;
int md=0;
while (md<=0)
{
m = JOptionPane.showInputDialog(null, "请输入密码");
try{
p.land(m);
}catch(LandException e){
e.printStackTrace();
}
switch (m)
{
case "1":
md = 1;
break;
default:
md=0;
System.out.println("密码错误,请重新输入");
}
}
}
}
package mainclass;
import attribute.Goodsinfor;
import operate.*;
import javax.swing.*;
import java.util.Scanner;
public class Salesperson extends Person implements InterF{
public void land(int num) throws LandException{
if(num!=1)
throw new LandException("密码错误,不合理");
Salesperson s=new Salesperson();
try{
s.land(num);
}catch(LandException e){
e.printStackTrace();
}
}
public void use()
{
String m,m1,m2;
int md=0,md1=0,md2=0;
Goodsinfor g1 = new Goodsinfor(1, "可口可乐");
Goodsinfor g2 = new Goodsinfor(2, "雪碧");
Goodsinfor g3 = new Goodsinfor(3, "冰红茶");
Goodsinfor g4 = new Goodsinfor(4, "牛奶");
Goodsinfor g5 = new Goodsinfor(5, "零食");
while (md<=0)
{
m = JOptionPane.showInputDialog(null, "请输入密码");
switch (m)
{
case "1":
md = 1;
break;
default:
md=0;
System.out.println("密码错误,请重新输入");
}
}
do {
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("0.退出");
m1 = JOptionPane.showInputDialog(null, "请输入命令");
switch (m1) {
case "0":
System.exit(0);
break;
case "1":
md1 = 1;
break;
case "2":
md1 = 2;
break;
case "3":
md1=3;
break;
case "4":
md1=4;
break;
case "5":
md1=5;
break;
case "6":
md1=6;
break;
}
if (md1 == 1) {
InterShow show=(Goodsinfor g)->{
System.out.println("Goods num="+g.getNum()+",name="+g.getName()+",price="+g.getPrice());
};
show.show(g1);
show.show(g2);
show.show(g3);
show.show(g4);
show.show(g5);
}
if (md1 == 2) {
Buy buy = new Buy();
System.out.println("请输入编号,名称");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
String name = in.nextLine();
System.out.println("请输入数量");
int nums = in.nextInt();
Goodsinfor g = new Goodsinfor(num, name);
buy.sellMoney(g, nums);
double counmoney = buy.getMoney();
System.out.println("总价是:" + counmoney);
}
if(md1==3){
Find f=new Find();
f.find();
}
if(md1==4){
Increase in=new Increase();
in.increase();
}
if(md1==5){
Delete d=new Delete();
d.delete();
}
if(md1==6){
Change c=new Change();
c.change();
}
m2= JOptionPane.showInputDialog(null,"输入y继续,n退出");
switch (m2){
case "y":
md2=1;
break;
case "n":
md2=-1;
break;
}
}while (md2>0);
System.exit(0);
}
}
package mainclass;
public interface InterF {
public void use();
}
package mainclass;
public class LandException extends Exception{
public LandException(){
super();
}
public LandException(String msg){
super(msg);
}
}
operate类
package operate;
import attribute.Goodsinfor;
public class Buy{
private double money=0;
public double sellMoney(Goodsinfor num, int nums){
double price=num.getPrice()*nums;
return money=money+price;
}
public double getMoney(){
return money;
}
}
package operate;
import attribute.Goodsinfor;
import attribute.Goodsinfor1;
import java.util.ArrayList;
import java.util.Scanner;
public class Increase implements InterA{
public void increase()
{
ArrayList<String> list=new ArrayList<String>();
list.add("可口可乐");
list.add("雪碧");
list.add("冰红茶");
list.add("牛奶");
list.add("零食");
ArrayList<Integer> list1=new ArrayList<Integer>();
list1.add(8);
list1.add(6);
list1.add(4);
list1.add(5);
list1.add(2);
Scanner in=new Scanner(System.in);
int i;
System.out.println("请输入名称:");
String name=in.nextLine();
System.out.println("请输入价格:");
int price=in.nextInt();
list.add(name);
list1.add(price);
for(i=0;i<list.size();i++) {
Goodsinfor g = new Goodsinfor1(i+1,list.get(i) ,list1.get(i) );
System.out.println("Goods num=" + g.getNum() + ",name=" + g.getName() + ",price=" + g.getPrice());
}
}
}
package operate;
import attribute.Goodsinfor;
import java.util.ArrayList;
import java.util.Scanner;
public class Delete implements InterB{
public void delete()
{
ArrayList<String> list=new ArrayList<String>();
list.add("可口可乐");
list.add("雪碧");
list.add("冰红茶");
list.add("牛奶");
list.add("零食");
Scanner in=new Scanner(System.in);
int i;
System.out.println("请输入编号:");
int num=in.nextInt();
list.remove(num-1);
for(i=0;i<list.size();i++) {
Goodsinfor g = new Goodsinfor(i+1, list.get(i));
System.out.println("Goods num=" + g.getNum() + ",name=" + g.getName() + ",price=" + g.getPrice());
}
}
}
package operate;
import attribute.Goodsinfor;
import attribute.Goodsinfor1;
import java.util.ArrayList;
import java.util.Scanner;
public class Change implements InterC{
public void change(){
ArrayList<String> list=new ArrayList<String>();
list.add("可口可乐");
list.add("雪碧");
list.add("冰红茶");
list.add("牛奶");
list.add("零食");
ArrayList<Integer> list1=new ArrayList<Integer>();
list1.add(8);
list1.add(6);
list1.add(4);
list1.add(5);
list1.add(2);
Scanner in=new Scanner(System.in);
int i;
System.out.println("请输入编号:");
int num=in.nextInt();
System.out.println("请输入名称:");
String name=in.nextLine();
String name1=in.nextLine();
list.set(num-1,name);
System.out.println("请输入价格:");
int price=in.nextInt();
list1.set(num-1,price);
for(i=0;i<list.size();i++) {
Goodsinfor g = new Goodsinfor1(i+1,list.get(i) ,list1.get(i) );
System.out.println("Goods num=" + g.getNum() + ",name=" + g.getName() + ",price=" + g.getPrice());
}
}
}
package operate;
import attribute.Goodsinfor;
import java.util.ArrayList;
import java.util.Scanner;
public class Find implements InterD{
public void find() {
ArrayList<String> list=new ArrayList<String>();
list.add("可口可乐");
list.add("雪碧");
list.add("冰红茶");
list.add("牛奶");
list.add("零食");
System.out.println("请输入编号:");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
Goodsinfor g=new Goodsinfor(num,list.get(num));
System.out.println("Goods num="+g.getNum()+",name="+g.getName()+",price="+g.getPrice());
}
}
package operate;
public interface InterA {
public void increase();
}
package operate;
public interface InterB {
public void delete();
}
package operate;
public interface InterC {
public void change();
}
package operate;
public interface InterD {
public void find();
}
package operate;
import attribute.Goodsinfor;
@FunctionalInterface
public interface InterShow {
public void show(Goodsinfor g);
}
list集合包含一些特殊的方法,掌握即可。