import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList array=new ArrayList();
while (true)
{
System.out.println("///////////////////欢迎来到网上商店////////////////////////////////");
System.out.println("0 退出");
System.out.println("1 用户注册");
System.out.println("2 用户登录");
System.out.println("3 进入管理员模式");
Scanner scanner=new Scanner(System.in);
String a=scanner.nextLine();
Yonghu y=new Yonghu();
switch (a){
case"0":
System.out.println("感谢使用");
System.exit(0);
break;
case"1":
System.out.println("1 用户注册");
yonghuzhuce(array);
break;
case"2":
System.out.println("2 用户登录");
yonghudenglu(array);
break;
case"3":
System.out.println("3 管理员模式登录");
guanliyuandenglu(array);
break;
default:
System.out.println("输入命令有误,请重新输入!");
}
}
}
private static void guanliyuandenglu(ArrayList array)//管理员登录
{
Scanner sc=new Scanner(System.in);
String zh1;
String mm1;
while(true) {
System.out.println("请输入管理员账号");
zh1=sc.nextLine();
System.out.println("请输入管理员密码");
mm1=sc.nextLine();
if (zh1.equals("asd")&&mm1.equals("123")){
System.out.println("账号密码正确");
guanliyuan(array);
break;
}else {
System.out.println("账号或密码错误,请重新登录,或注册后再进行登录");
break;
}
}
}
//用户注册
public static void yonghuzhuce(ArrayList array){
//从键盘录入用户注册的账号名账号密码
Scanner sc=new Scanner(System.in);
// 为了在while外访问Name
String Name;
String zhanghao;
String mima;
String dizhi;
while(true){
System.out.println("请输入账号名");
Name= sc.nextLine();
System.out.println("请注册账号");
zhanghao= sc.nextLine();
boolean flag=Name(array,Name);
System.out.println("请注册密码");
mima= sc.nextLine();
System.out.println("请输入收货地址");
dizhi= sc.nextLine();
boolean flag3=Name1(array,zhanghao);
//创建对象,将键盘录入的数据赋值给对象中的成员变量
if(flag3==true&&flag==true){
System.out.println("您输入的账号名已使用,请重新输入:");
break;
}
Yonghu yh=new Yonghu();
yh.setName(Name);
yh.setZhanghao(zhanghao);
yh.setMima(mima);
yh.setDizhi(dizhi);
//将对象添加到集合中,并提示成功
array.add(yh);
System.out.println("注册成功");
break;
}
}
private static boolean Name1(ArrayList array, String zhanghao) //看是否存在
{
boolean flag3=false;
for(int i=0;i<array.size();i++)
{
Yonghu yh=array.get(i);
if(yh.getZhanghao().equals((zhanghao))){
flag3=true;
break;
}
}
return flag3;
}
private static boolean Name(ArrayList array, String name) //看是否存在
{
boolean flag=false;
for(int i=0;i<array.size();i++)
{
Yonghu yh=array.get(i);
if(yh.getName().equals((name))){
flag=true;
break;
}
}
return flag;}
//用户登录
public static void yonghudenglu(ArrayListarray){
Scanner sc=new Scanner(System.in);
String zh;
String mm;
while(true) {
System.out.println("请输入账号");
zh=sc.nextLine();
System.out.println("请输入账号密码");
mm=sc.nextLine();
boolean flag1=f1(array,zh);
boolean flag2=f2(array,mm);
if (flag2==flag1&&flag1==true&&flag2==true){
System.out.println("账号密码正确");
shangdiancaidan();
}else {
System.out.println("账号或密码错误,请重新登录,或注册后再进行登录");
break;
}
}
}
//商店菜单 ArrayList array1=new ArrayList();
private static void shangdiancaidan() {
//用户的集合
ArrayList array=new ArrayList();
ArrayList array1=new ArrayList();
System.out.println("0 退出账号");
System.out.println("1 查看用户个人信息");
System.out.println("2 商店商品选购");
Scanner scanner=new Scanner(System.in);
String a=scanner.nextLine();
switch (a){
case"0":
System.out.println("感谢使用");
break;
case"1":
System.out.println("1 查看用户个人信息");
gerenyonghuxinxichakan(array);
break;
case"2":
System.out.println("2 商品选购");
shangpinxuangou(array1);
break;
default:
System.out.println("输入命令有误,请重新输入!");
}
}
private static void shangpinxuangou(ArrayList array1) {
}
private static void gerenyonghuxinxichakan(ArrayList array) {
if (array.size()==0){
System.out.println("无信息,请先添加信息后再查询");
return;//为了往下执行,而不是卡在这
}
System.out.println("用户名\t\t账号\t\t密码\t\t");
//从集合中取出数据按照对应格式显示学生信息
for(int i=0;i< array.size();i++){
Yonghu yh=array.get(i);
System.out.println(yh.getName()+"\t\t"+yh.getZhanghao()+"\t\t"+yh.getMima());
}
}
private static boolean f2(ArrayList array, String mm)//判断密码是否正确
{
boolean flag1=false;
for(int i=0;i<array.size();i++)
{
Yonghu yh=array.get(i);
if(yh.getMima().equals((mm))){
flag1=true;
break;
}
}
return flag1;}
private static boolean f1(ArrayList array, String zh) //判断账号是否正确存在
{
boolean flag2=false;
for(int i=0;i<array.size();i++)
{
Yonghu yh=array.get(i);
if(yh.getZhanghao().equals((zh))){
flag2=true;
break;
}
}
return flag2;}
//管理员界面
public static void guanliyuan(ArrayListarray){
while (true)
{
System.out.println("///////////////////欢迎来到网上商店管理员系统////////////////////////////////");
System.out.println("0 切换正常登录");
System.out.println("1 商店商品管理");
System.out.println("2 用户信息管理");
System.out.println("3 订单信息管理");
Scanner scanner=new Scanner(System.in);
String b=scanner.nextLine();
dingdan s=new dingdan();
switch (b){
case"0":
System.out.println("感谢使用");
yonghudenglu(array);
break;
case"1":
System.out.println("商品管理菜单");
shangpingaunli(array);
break;
case"2":
System.out.println("用户信息管理菜单");
yonghuxinxiguanli(array);
case"3":
System.out.println("订单信息管理菜单");
dingdanxinxi(array);
default:
System.out.println("输入命令有误,请重新输入!");
}
}
}
/*private static void tiaoban() {
ArrayList array=new ArrayList();
while (true)
{
System.out.println("///////////////////欢迎来到网上商店////////////////////////////////");
System.out.println("0 退出");
System.out.println("1 用户注册");
System.out.println("2 用户登录");
System.out.println("3 进入管理员模式");
/*System.out.println("3 查看用户个人信息");
System.out.println("4 进入管理员模式");
System.out.println("5 商店商品选购");
Scanner scanner=new Scanner(System.in);
String a=scanner.nextLine();
yonghu y=new yonghu();
switch (a){
case"0":
System.out.println("感谢使用");
System.exit(0);
break;
case"1":
System.out.println("1 用户注册");
yonghuzhuce(array);
break;
case"2":
System.out.println("2 用户登录");
yonghudenglu(array);
break;
case"3":
System.out.println("3 管理员模式登录");
guanliyuandenglu(array);
default:
System.out.println("输入命令有误,请重新输入!");
}
}
}*/
private static void dingdanxinxi(ArrayList array) {
}
//商品信息管理
private static void shangpingaunli(ArrayListarray) {
ArrayList array1=new ArrayList();
while (true)
{
System.out.println("///////////////////欢迎来到网上商店管理系统////////////////////////////////");
System.out.println("0 退出");
System.out.println("1 商品添加");
System.out.println("2 商品修改");
System.out.println("3 商品删除");
System.out.println("4 商品查看");
Scanner scanner=new Scanner(System.in);
String b=scanner.nextLine();
switch (b){
case"0":
System.out.println("感谢使用");
guanliyuan(array);
break;
case"1":
System.out.println("商品添加");
shangpintainjia(array1);
break;
case"2":
System.out.println("商品修改");
sahngpinxiugai(array1);
break;
case"3":
System.out.println("商品删除");
sahngpinshanchu(array1);
break;
case"4":
System.out.println("商品查看");
shangpinchakan(array1);
break;
default:
System.out.println("输入命令有误,请重新输入!");
}
}
}
private static void shangpinchakan(ArrayList array) //商品查看
{
System.out.println("商品名\t\t价格\t\t厂商\t\t");
if (array.size()==0){
System.out.println("无信息,请先添加信息后再查询");
return;//为了往下执行,而不是卡在这
}
//从集合中取出数据按照对应格式显示学生信息
for(int i=0;i< array.size();i++){
Shangpin sp=array.get(i);
System.out.println(sp.getName()+"\t\t"+sp.getJiage()+"\t\t"+sp.getChangshang());
}
}
private static void sahngpinxiugai(ArrayList array) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入要修改的商品信息");
String name=sc.nextLine();
//修改前,先判断是否存在
int index=-1;
//遍历集合修改对应用户的信息
for(int i=0;i<array.size();i++){
Shangpin yh=array.get(i);
if(yh.getName().equals(name)){
index=i;
break;
}
}
if (index==-1){
System.out.println("该商品信息不存在,请重新输入!");
}else{
for(int j=0;j< array.size();j++){
Shangpin yh=array.get(j);
if(yh.getName().equals(name)){
System.out.println("请输入新名字:");
String Name=sc.nextLine();
System.out.println("请输入新价格:");
String jiage=sc.nextLine();
System.out.println("请输入厂商:");
String changshang=sc.nextLine();
//创建对象
Shangpin yh1=new Shangpin();
yh1.setName(name);
yh1.setJiage(jiage);
yh1.setChangshang(changshang);
array.set(j,yh1);
//提示修改成功信息
System.out.println("修改信息成功!");
break;
}
}
}
}
private static void shangpintainjia(ArrayList array1)
{
Scanner sc=new Scanner(System.in);
// 为了在while外访问Name
String name;//商品名
String jiage;//价格
String changshang;//厂商
int i=0;
while(true){
System.out.println("请输入商品名");
name= sc.nextLine();
System.out.println("请输入价格");
jiage= sc.nextLine();
System.out.println("请输入厂商");
changshang= sc.nextLine();
//创建对象,将键盘录入的数据赋值给对象中的成员变量
Shangpin sp=new Shangpin();
sp.setName(name);
sp.setChangshang(changshang);
sp.setJiage(jiage);
//将对象添加到集合中,并提示成功
array1.add(sp);
System.out.println("商品添加成功");
break;
}
}
//这是删除的方法
private static void sahngpinshanchu(ArrayList array1) {
//从键盘录入删除商品名
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的商品名:");
String sp=sc.nextLine();
//删除修改前判断商品是否存在
//遍历集合,找到对应的对象将其删除
int index=-1;
for(int i=0;i();i++){
Shangpin sp1=array1.get(i);
if(sp1.getName().equals(sp)){
index=i;
break;
}
}
if (index == -1){
System.out.println("该商品不存在,请重新输入!");
}else {
array1.remove(index);
System.out.println("删除该商品成功!");
}
}
//用户信息管理
private static void yonghuxinxiguanli(ArrayList array) {
while (true)
{
System.out.println("///////////////////欢迎来到网上商店管理系统////////////////////////////////");
System.out.println("0 退回");
System.out.println("1 用户全部信息查看");
System.out.println("2 指定账户查询");
System.out.println("3 用户信息修改");
System.out.println("4 用户信息删除");
Scanner scanner=new Scanner(System.in);
String b=scanner.nextLine();
switch (b){
case"0":
System.out.println("感谢使用");
guanliyuan(array);
break;
case"1":
System.out.println("用户全部信息查看");
yonghuxinxichakan(array);
break;
case"2":
System.out.println("指定账户查询");
zhidingyonghuxinxi(array);
break;
case"3":
System.out.println("用户信息修改");
yonghuxinxixiugai(array);
break;
case"4":
System.out.println("用户信息删除");
yonghuxinxishanchu(array);
default:
System.out.println("输入命令有误,请重新输入!");
}
}
}
private static void yonghuxinxixiugai(ArrayList array) //用户信息修改
{ //从键盘获取要修改学生的学号,显示要修改的信息
Scanner sc=new Scanner(System.in);
System.out.println("请输入要修改的用户信息");
String zhanghaos=sc.nextLine();
//修改前,先判断是否存在
int index=-1;
//遍历集合修改对应用户的信息
for(int i=0;i<array.size();i++){
Yonghu yh=array.get(i);
if(yh.getZhanghao().equals(zhanghaos)){
index=i;
break;
}
}
if (index==-1){
System.out.println("该用户信息不存在,请重新输入!");
}else{
for(int j=0;j< array.size();j++){
Yonghu yh=array.get(j);
if(yh.getZhanghao().equals(zhanghaos)){
System.out.println("请输入该用户新账号:");
String zhanghao=sc.nextLine();
System.out.println("请输入该用户新密码:");
String mima=sc.nextLine();
System.out.println("请输入该用户新地址:");
String dizhi=sc.nextLine();
//创建对象
Yonghu yh1=new Yonghu();
yh1.setZhanghao(zhanghao);
yh1.setMima(mima);
yh1.setDizhi(dizhi);
array.set(j,yh1);
//提示修改成功信息
System.out.println("修改信息成功!");
break;
}
}
}
}
//用户信息查看
private static void yonghuxinxichakan(ArrayList array) {
if (array.size()==0){
System.out.println("无信息,请先添加信息后再查询");
return;//为了往下执行,而不是卡在这
}
System.out.println("用户名\t\t账号\t\t密码\t\t");
//从集合中取出数据按照对应格式显示学生信息
for(int i=0;i< array.size();i++){
Yonghu yh=array.get(i);
System.out.println(yh.getName()+"\t\t"+yh.getZhanghao()+"\t\t"+yh.getMima());
}
}
//定义一个方法,用于指定查询信息
private static void zhidingyonghuxinxi(ArrayList array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户账号");
String zhanghao=sc.nextLine();
//查询前判断账号是否存在
int index=-1;
Yonghu yh=null;
//遍历集合将对象从集合中取出
for(int i=0;i< array.size();i++){
yh=array.get(i);
if (yh.getZhanghao().equals(zhanghao)){
index=1;
break;
}
}
if (index==-1){
System.out.println("该账号不存在,请重新输入");
}else {
System.out.println("姓名\t\t账号\t\t密码\t\t");
System.out.println(yh.getName()+"\t\t"+yh.getZhanghao()+"\t\t"+yh.getMima());
}
}
private static void yonghuxinxishanchu(ArrayList array) //用户信息删除
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的用户:");
String sb=sc.nextLine();
//删除修改前判断用户是否存在
//遍历集合,找到对应的对象将其删除
int index=-1;
for(int i=0;i< array.size();i++){
Yonghu sc1=array.get(i);
if(sc1.getZhanghao().equals(sb)){
index=i;
break;
}
}
if (index == -1){
System.out.println("该用户不存在,请重新输入!");
}else {
array.remove(index);
System.out.println("删除该用户成功!");
}
}
/* private static void dingdanxinxi() {
ArrayList array=new ArrayList();
while (true)
{
System.out.println("///////////////////欢迎来到网上商店管理系统////////////////////////////////");
System.out.println("0 退出");
System.out.println("1 查看订单清单");
System.out.println("2 更新订单付款");
System.out.println("3 出货状态");
System.out.println("4 删除订单");
Scanner scanner=new Scanner(System.in);
String b=scanner.nextLine();
switch (b){
case"0":
System.out.println("感谢使用");
System.exit(0);
break;
case"1":
System.out.println("查看订单清单");
chakandinganqingdan();
case"2":
System.out.println("更新订单付款");
gengxindingdanfukuan();
case"3":
System.out.println("出货状态");
chuhuozhuangtai();
case"4":
System.out.println("删除订单");
shanchudingdan(array);
default:
System.out.println("输入命令有误,请重新输入!");
}
}
}
private static void shanchudingdan(ArrayList array)//删除订单
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的订单:");
String sb=sc.nextLine();
//删除修改前判断用户是否存在
//遍历集合,找到对应的对象将其删除
int index=-1;
for(int i=0;i
}
、、、、、、、、、、、、、、、、、、、、
Shangpin.java
public class Shangpin {
private String name;//商品名
private String jiage;//价格
private String changshang;//厂商
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJiage() {
return jiage;
}
public void setJiage(String jiage) {
this.jiage = jiage;
}
public String getChangshang() {
return changshang;
}
public void setChangshang(String changshang) {
this.changshang = changshang;
}
public Shangpin() {
}
public Shangpin(String name, String jiage, String changshang) {
this.name = name;
this.jiage = jiage;
this.changshang = changshang;
}
}
//////////////////////////
Yonghu.java
public class Shangpin {
private String name;//商品名
private String jiage;//价格
private String changshang;//厂商
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJiage() {
return jiage;
}
public void setJiage(String jiage) {
this.jiage = jiage;
}
public String getChangshang() {
return changshang;
}
public void setChangshang(String changshang) {
this.changshang = changshang;
}
public Shangpin() {
}
public Shangpin(String name, String jiage, String changshang) {
this.name = name;
this.jiage = jiage;
this.changshang = changshang;
}
}
你的商品是放在shangdiancaidan这个方法的array1里面,重新进入商品菜单的时候又重新new了一个,商品信息自然没了,你可以把array1,放到方法外面,作为成员变量,或者持久化到文件
一般就是集合在传递时,被应用程序改了值吧,跟踪一下大概就知道哪里修改了
你定义的array1为局部变量,即是定义在方法内的,退出方法后该变量便会清除,如想保留记录,可定义全局边量,即定义在方法外面、类根下