1. 程式人生 > >登錄、註冊案例集合實現

登錄、註冊案例集合實現

登錄註冊

登陸註冊案例分析:
         我們現在寫代碼需要面向對象,我們必須先找到能完成某個功能的類,接著調用裏面的方法完成它
 
登陸註冊案例中的類:
         用戶類
                   成員變量:用戶名,密碼
                   成員方法:登陸,註冊功能
                  
         測試類
                   main
 
 
登陸註冊案例中的類的詳細分解:
         用戶類(User):用戶名,密碼,郵箱,電話,身份證號。。。。--- 標準的java描述類
        
         我們應該把對用戶的所有的操作抽取出來形成一個類:
         用戶操作類:註冊,登陸
         定義一個接口:就是定義的登陸和註冊的功能,我們之前說過接口是是對類的功能的一種擴展,
         其實當時說的還不夠完善,接口本質其實是用來定義規則的
        
         測試類:
         main
---------------------------------------------------------------
java中的分包:
com.edu.domain --- 標準的java描述類
com.edu.dao -- 存放的是接口
com.edu.dao.impl -- 存放的是接口實現類
com.edu.util -- 對對象進行操作的工具類
com.edu.test -- 測試類
 
 
package com.edu.domain;
 
publicclassUser {
   
   private String userName;
   private String password;
   public User(String userName,String password) {
      super();
      this.userName = userName;
      this.password = password;
   }
   public User() {
      super();
      // TODO Auto-generated constructor stub
   }
   public String getUserName() {
      returnuserName;
   }
   publicvoid setUserName(StringuserName) {
      this.userName = userName;
   }
   public String getPassword() {
      returnpassword;
   }
   publicvoid setPassword(Stringpassword) {
      this.password = password;
   }
   
}
 
 
 
 
package com.edu.dao;
 
import com.edu.domain.User;
 
   publicinterface  UserDao {
      //定義註冊方法
      publicabstract  void regist(User user);
      //定義登錄方法
      publicabstractboolean isLogin(StringuserName,String password);
   }
 
 
 
packagecom.edu.dao.impl;
 
importjava.util.ArrayList;
importjava.util.Scanner;
 
importcom.edu.dao.UserDao;
importcom.edu.domain.User;
 
public classUserDaoImpl implements UserDao{
       //創建一個集合
       static ArrayList<User> users = newArrayList<User>();
 
       public void regist(User user) {
              //將對象存入集合
              users.add(user);
              
       }
 
       public boolean isLogin(String userName,String password) {
              boolean flag = false;
              for (User user : users) {
                     if(userName.equals(user.getUserName())&&password.equals(user.getPassword())){
                            flag = true;
                            break;
                     }
              }
              return flag;
       }
       public void Game(){
              //產生一個1-100 的隨機數
              int num = (int)(Math.random()*100+1);
              System.out.println("輸入你猜的數字");
              
              
              while (true) {
                     Scanner sc = newScanner(System.in);
                     int guessNumber =sc.nextInt();
                     if (guessNumber>num) {
                            System.out.println("大了");
                     }
                     if (guessNumber<num) {
                            System.out.println("小了");
                     }
                     if (guessNumber==num) {
                            System.out.println("恭喜你答對了");
                            break;
                     }
              }
       }
 
}
 
 
 
 
 
 
packagecom.edu.test;
 
importjava.util.Scanner;
 
importcom.edu.dao.impl.UserDaoImpl;
importcom.edu.domain.User;
 
public class Test{
       public static void main(String[] args) {
              while(true){
                     System.out.println("歡迎來到登錄註冊界面");
                     System.out.println("1.註冊");
                     System.out.println("2.登錄");
                     System.out.println("3.退出系統");
                     //創建一個用戶操作類對象
                     UserDaoImpl udi = newUserDaoImpl();
                     //創建鍵盤錄入對象
                     Scanner sc = newScanner(System.in);
                     String choice =sc.nextLine();
                     
                     switch (choice) {
                     case "1":
                            System.out.println("歡迎來到註冊界面");
                            System.out.println("請輸入用戶名:");
                            String userName =sc.nextLine();
                            System.out.println("請輸入密碼:");
                            String password =sc.nextLine();
                            //將用戶名和密碼封裝
                            User user = newUser(userName, password);
                            //調用接口實現類對象的註冊方法,將用戶名和密碼存入集合中
                            udi.regist(user);
                            break;
                     case "2":
                            System.out.println("歡迎來到登錄界面");
                            System.out.println("請輸入用戶名:");
                            String inputUserName= sc.nextLine();
                            System.out.println("請輸入密碼:");
                            String inputPassword= sc.nextLine();
                            boolean login =udi.isLogin(inputUserName, inputPassword);
                            if (login) {
                                   System.out.println("登錄成功");
                                   udi.Game();
                                   break;
                            }else  {
                                   System.out.println("登錄失敗");
                            }
                            break;
                     case "3":
                     default:
                            System.exit(0);
                            break;
                     }
                            
              }
       }
 
}


登錄、註冊案例集合實現