java实训问题探讨

编写程序实现简单的登录注册功能。程序包含以下 4个功能:
(1) 登录功能,用户输入正确的账号密码进行成功;
(2)注册功能,输入用户名和密码进行注册;
(3) 查看功能,查看所有的用户名与密码;
(4) 退出功能,退出系统。

package cn.itcast.Dao;
 
import cn.itcast.pojo.User;
 
/**
 *     这是针对用户进行操作的接口
 * @author 咚咚锵
 * @version 1.0
 *
 */
public interface UserDao {
    /**
     *     这是用户登录功能
     * @param username    用户名
     * @param password    密码
     * @return    返回登陆是否成功
     */
    public abstract boolean isLogin(String username,String password);
    
    /**
     *     用户注册功能(把用户信息添加的集合中)
     * @param user
     * 
     * 之所以没有返回值,使用为集合添加的返回值永远都是true
     */
    public abstract void regist(User user);
}
 
 
 
 
package cn.itcast.pojo;
 
/**
 *     这是用户基本描述类
 * @author 咚咚锵
 * @version 1.0
 *
 */
public class User {
    
    private String Username;
    
    private String Password;
    
    public User() {
    }
 
    public String getUsername() {
        return Username;
    }
 
    public void setUsername(String username) {
        Username = username;
    }
 
    public String getPassword() {
        return Password;
    }
 
    public void setPassword(String password) {
        Password = password;
    }
}
 
 
 
package cn.itcast.Dao.impl;
 
import java.util.ArrayList;
 
import cn.itcast.Dao.UserDao;
import cn.itcast.pojo.User;
 
/**
 *     这是用户功能的具体实现类(集合版)
 * 
 * @author 咚咚锵
 * 
 * @version 1.0
 *
 */
public class UserDaoImpl implements UserDao {
 
    //为了使多个方法可以使用集合,所以定义为成员变量
    
    //为了不让被人看到,所以使用private修饰
    
    //为了使多个对象使用同一个集合,使用静态修饰
    private static ArrayList<User> array=new ArrayList<User>();
    @Override
    public boolean isLogin(String username, String password) {
        boolean flag=false;
        for(User u:array) {
            if(u.getUsername().equals(password)&&u.getPassword().equals(password)) {
                flag=true;
                break;
            }
        }
        return flag;
    }
 
    @Override
    public void regist(User user) {
        array.add(user);
    }
 
}
 
 
package cn.itcast.test;
 
import java.util.Scanner;
 
 
import cn.itcast.Dao.UserDao;
import cn.itcast.Dao.impl.UserDaoImpl;
import cn.itcast.pojo.User;
 
public class Usertest {
    public static void main(String[] args) {
        while(true) {
            Scanner sc=new Scanner(System.in);
            User user=new User();
            UserDao uc=new UserDaoImpl();
            System.out.println("---------------欢迎光临---------------");
            System.out.println("1登录");
            System.out.println("2注册");
            System.out.println("3退出");
            String choiceString=sc.next();
            switch (choiceString) {
            case "1":
                System.out.println("输入用户名:");
                String username=sc.next();
                System.out.println("输入密码:");
                String password=sc.next();
                boolean flag=uc.isLogin(username, password);
                if(flag) {
                    System.out.println("登陆成功");
                    System.exit(0);
                }else {
                    System.out.println("用户名或密码错误,登陆失败");
                }
                break;
            case "2":
                System.out.println("输入用户名:");
                String newusername=sc.next();
                System.out.println("输入密码:");
                String newpassword=sc.next();
                user.setUsername(newusername);
                user.setPassword(newpassword);
                uc.regist(user);
                System.out.println("注册成功");
                break;
                
            case "3":    
            default:
                System.out.println("---------------欢迎下次光临---------------");
                System.exit(0);
                break;
            }
            
            
        }
    }
}