测试类
package com.dd;
import java.sql.SQLOutput;
import java.util.*;
public class T {
public static void main(String[] args) {
while (true) {
System.out.println("--------------欢迎使用史上最牛逼购物系统---------------");
System.out.println("1、注册");
System.out.println("2、登录");
System.out.println("3、退出");
System.out.println("请输入您需要的功能编号:");
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
System.out.println("------------------华丽的分割线-----------------------");
/**根据用户的不同输入编号进入不同的逻辑功能
*
* 判断处理,if switch
*
*/
switch (num) {
case "1":
/**
*
* 第一次创建实现接口类对象,初始化了实现接口类,为第一个集合
* 注册集合
*
*/
UserI useri=new UserIimpl();//接口的 多态运用
User user=new User();
System.out.println("请输入注册账号:");
String acount = sc.nextLine();
System.out.println("请输入注册密码:");
String password = sc.nextLine();
//封装user对象
user.setAcount(acount);
user.setPassword(password);
//调用接口实现类的方法
useri.regesiter(user);
System.out.println("注册成功");
break;
case "2":
/**
*
* 第二次创建实现接口类,再次初始化了实现接口类,为第二个集合
* ,这个登录集合与第一次注册集合并非同一个集合,为一个空集合
* 所以登录是匹配失败
*
* 解决方案,加上static,使集合只能有一个
*
*/
UserI useri1=new UserIimpl();
System.out.println("请输入登录账号:");
String acount1 = sc.nextLine();
System.out.println("请输入登录密码:");
String password1 = sc.nextLine();
boolean b = useri1.login(acount1, password1);
if (b){
System.out.println("欢迎"+acount1+"进入史上最牛逼的购物中心!!!");
/**
*
* 目的是切断while循环
*
* 1、用 return;
* 2、强制关闭虚拟机 Game。startGame();
*/
//break;
return ;//阻止java中后续代码的执行
}else {
System.out.println("输入错误,傻逼滚!!");
}
break;
case "3":
System.out.println("您已退出史上最牛逼购物中心");
return;
//break;
default:
break;
}
}
}
}
接口类
package com.dd;
public interface UserI {
/**注册功能,
* 直接把user对象放进去,
*
* @param(参数的意思) user
* @return 无返回值
*/
void regesiter(User user);
/**登录功能,
* 返回布尔类型,
* 提示登录成功或者失败
*
* @param acount
* @param passwoed
* @return
*
*/
boolean login(String acount,String passwoed);
}
用户类(实体类)
package com.dd;
public class User {
private String acount;
private String password;
private int age;
private String addewss;
/*public User() {
super();
}
public User(String acount, String password) {
this.acount = acount;
this.password = password;
}*/
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddewss() {
return addewss;
}
public void setAddewss(String addewss) {
this.addewss = addewss;
}
public String getAcount() {
return acount;
}
public void setAcount(String acount) {
this.acount = acount;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
接口实现类
package com.dd;
import java.util.ArrayList;
import java.util.List;
/**
*
* 接口实现类
*
* 创建一个集合,模拟数据库功能,存储数据
*
*/
public class UserIimpl implements UserI {
//模仿数据库功能
private static List list=new ArrayList();
@Override
public void regesiter(User user) {
list.add(user);
}
@Override
public boolean login(String acount, String passwoed) {
boolean flag=false;
for (Object o:list){
User user= (User) o;
if (acount.equals(user.getAcount())&&passwoed.equals(user.getPassword())){
flag=true;
//return true;
}else {
flag=false;
//return false;
}
}
return flag;
}
}