为什么使用arraylist添加多个信息后再查询时全变成了输入的最后一个信息
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<yonghu> array=new ArrayList<yonghu>();
ArrayList<shangpin> array1=new ArrayList<shangpin>();
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<yonghu> 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;
}
}
}
private static void guanliyuan(ArrayList<yonghu> array) {
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 dingdanxinxi(ArrayList<yonghu> array) {
}
private static void yonghuxinxiguanli(ArrayList<yonghu> 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 yonghuxinxishanchu(ArrayList<yonghu> array) {
}
private static void yonghuxinxixiugai(ArrayList<yonghu> array) {
}
private static void zhidingyonghuxinxi(ArrayList<yonghu> array) {
}
private static void yonghuxinxichakan(ArrayList<yonghu> 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 shangpingaunli(ArrayList<yonghu> array) {
}
private static void yonghudenglu(ArrayList<yonghu> array) {
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 (flag1 && flag2){
System.out.println("账号密码正确");
shangdiancaidan(array);
}else {
System.out.println("账号或密码错误,请重新登录,或注册后再进行登录");
break;
}
}
}
private static void shangdiancaidan(ArrayList<yonghu> array) {
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();
break;
default:
System.out.println("输入命令有误,请重新输入!");
}
}
private static void shangpinxuangou() {
}
private static void gerenyonghuxinxichakan(ArrayList<yonghu> 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<yonghu> 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<yonghu> 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;}
private static void yonghuzhuce(ArrayList<yonghu> 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);
//创建对象,将键盘录入的数据赋值给对象中的成员变量
yonghu yh=new yonghu();
yh.setName(Name);
yh.setZhanghao(zhanghao);
yh.setMima(mima);
yh.setDizhi(dizhi);
//将对象添加到集合中,并提示成功
array.add(yh);
if(flag3==true && flag==true){
System.out.println("您输入的账号名已使用,请重新输入:");
} else{System.out.println("注册成功");
break;
}
}
}
private static boolean Name(ArrayList<yonghu> array, String name)//看是否存在
{
boolean flag=false;
for(int i=0;i<array.size();i++)
{
yonghu yh=array.get(i);
if(yonghu.getName().equals((name))){
flag=true;
break;
}
}
return flag;}
private static boolean Name1(ArrayList<yonghu> array, String zhanghao)//看是否存在
{
boolean flag3=false;
for(int i=0;i<array.size();i++)
{
yonghu yh=array.get(i);
if(yonghu.getZhanghao().equals((zhanghao))){
flag3=true;
break;
}
}
return flag3;
}
}
yonghu.java
import java.util.ArrayList;
import java.util.Scanner;
public class yonghu {
private static String Name;//用户名
private static String zhanghao;//账号
private static String mima;//密码
private String dizhi;//地址
public static String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public static String getZhanghao() {
return zhanghao;
}
public void setZhanghao(String zhanghao) {
this.zhanghao = zhanghao;
}
public static String getMima() {
return mima;
}
public void setMima(String mima) {
this.mima = mima;
}
public String getDizhi() {
return dizhi;
}
public void setDizhi(String dizhi) {
this.dizhi = dizhi;
}
public yonghu() {
}
public yonghu(String name, String sex, String zhanghao, String mima, String dizhi) {
Name = name;
this.zhanghao = zhanghao;
this.mima = mima;
this.dizhi = dizhi;
}
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;
}
}