真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

用戶管理系統(tǒng)--JAVA-創(chuàng)新互聯(lián)

用戶管理系統(tǒng)–JAVA

【題目來源-------黑馬程序員Java零基礎(chǔ)視頻教程_上部】
具體要求:
? 為學(xué)生管理系統(tǒng)書寫一個登陸、注冊、忘記密碼的功能。

創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)的建站公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、成都全網(wǎng)營銷推廣及網(wǎng)站設(shè)計開發(fā)服務(wù)!

? 只有用戶登錄成功之后,才能進入到學(xué)生管理系統(tǒng)中進行增刪改查操作。

分析:
登錄界面:
System.out.println(“歡迎來到學(xué)生管理系統(tǒng)”);
System.out.println(“請選擇操作1登錄 2注冊 3忘記密碼”);
用戶類:
? 屬性:用戶名、密碼、身份證號碼、手機號碼

注冊功能:
? 1,用戶名需要滿足以下要求:

? 驗證要求:

? 用戶名唯一

? 用戶名長度必須在3~15位之間

? 只能是字母加數(shù)字的組合,但是不能是純數(shù)字

? 2,密碼鍵盤輸入兩次,兩次一致才可以進行注冊。

? 3,身份證號碼需要驗證。

? 驗證要求:

? 長度為18位

? 不能以0為開頭

? 前17位,必須都是數(shù)字

? 最為一位可以是數(shù)字,也可以是大寫X或小寫x

? 4,手機號驗證。

? 驗證要求:

? 長度為11位

? 不能以0為開頭

? 必須都是數(shù)字

登錄功能:
? 1,鍵盤錄入用戶名

? 2,鍵盤錄入密碼

? 3,鍵盤錄入驗證碼

驗證要求:

? 用戶名如果未注冊,直接結(jié)束方法,并提示:用戶名未注冊,請先注冊

? 判斷驗證碼是否正確,如不正確,重新輸入

? 再判斷用戶名和密碼是否正確,有3次機會

忘記密碼:
? 1,鍵盤錄入用戶名,判斷當前用戶名是否存在,如不存在,直接結(jié)束方法,并提示:未注冊

? 2,鍵盤錄入身份證號碼和手機號碼

? 3,判斷當前用戶的身份證號碼和手機號碼是否一致,

? 如果一致,則提示輸入密碼,進行修改。

? 如果不一致,則提示:賬號信息不匹配,修改失敗。

驗證碼規(guī)則:
? 長度為5

? 由4位大寫或者小寫字母和1位數(shù)字組成,同一個字母可重復(fù)

? 數(shù)字可以出現(xiàn)在任意位置

比如:

? aQa1K

完整代碼:
(如有錯誤,請各位大佬指教(●’?’●))

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class UserSystem {public static void main(String[] args) {ArrayListlist=new ArrayList<>();
        loop: while(true){System.out.println("--------------------------------------------");
            System.out.println("歡迎來到用戶管理系統(tǒng)");
            System.out.println("請選擇操作 1登錄 2注冊 3忘記密碼 (任意鍵)退出管理系統(tǒng)");
            Scanner sc=new Scanner(System.in);
            String choose=sc.next();

           switch(choose){case "1":{DengLu(list);
                    break;
                }
                case "2":{ZhuCe(list);
                    System.out.println("恭喜您,注冊成功!");
                    break;
                }
                case "3":{forgetPassword(list);
                    break;
                }
                default:
                    break loop;
            }
        }

    }
    public static void DengLu(ArrayListlist){Scanner sc=new Scanner(System.in);
            System.out.println("請輸入用戶名:");
            String username=sc.next();
            boolean flag=isExist(list,username);
        loop:for (int i = 0; i< 3; i++) {User u=new User();
            if(flag){System.out.println("請輸入密碼");
                String password=sc.next();
                u.setPassword(password);
                //生成一個驗證碼
                String identifyNumber=DengLuYzm();
                System.out.println("自動生成的驗證碼為:"+identifyNumber);
                System.out.println("請輸入驗證碼");
                String idNum=sc.next();
                if(identifyNumber.equals(idNum)){boolean flag1=passwordExist(list,u);
                    if(flag1){System.out.println("恭喜您,登錄成功!");
                        break loop;
                    }else{System.out.println("密碼不正確,您還有"+(3-i-1)+"次機會!" );
                    }
                }else{System.out.println("驗證碼輸入不正確,您還有"+(3-i-1)+"次機會?。?);
                }
            }else{System.out.println("用戶名未注冊,請先注冊!");
                break loop;
            }
        }


    }

    public static String DengLuYzm(){//把大寫字母,小寫字母放到一個數(shù)組中
        char []arr=new char[52];
        for (int i = 0; i< arr.length; i++) {if(i<=25){//添加小寫字母
                arr[i]=(char)(97+i);
            }else {//添加大寫字母
                arr[i]=(char)(65+i-26);
            }
        }
        //長度為5 四位是字母,一位是數(shù)字
        Random r=new Random();
        String result="";
        for (int i = 0; i< 4; i++) {int j=r.nextInt(52);
            result=result+arr[j];
        }
        result=result+r.nextInt(10);
        //其中數(shù)字只有一維,位置隨機
        //把字符串轉(zhuǎn)換為字符數(shù)組,把最后一個數(shù)字元素與其他隨機位置交換
        char []arr1=result.toCharArray();
        for (int i = 0; i< arr1.length; i++) {int j=r.nextInt(arr1.length-1);
            char temp=arr1[j];
            arr1[j]=arr1[arr1.length-1];
            arr1[arr1.length-1]=temp;
        }
        String res=new String(arr1);//從字符數(shù)組轉(zhuǎn)換為字符
        return res;
    }
    public static void ZhuCe(ArrayListlist){User user=new User();
        String username=ZhuCeUserName(list);
        user.setUserName(username);

        String password=ZhuCePassword(list);
        user.setPassword(password);

        String idNumber=ZhuCeIdNumber(list);
        user.setIdNumber(idNumber);

        String phoneNumber=ZhuCePhoneNumber(list);
        user.setPhoneNumber(phoneNumber);

        list.add(user);
    }
    public static String ZhuCePhoneNumber(ArrayListlist){Scanner sc=new Scanner(System.in);
        String phoneNumber="";
        loop:while(true){System.out.println("請輸入手機號碼:");
            phoneNumber=sc.next();
            char []charPhoneNumber=phoneNumber.toCharArray();
            int count=0;
            if(phoneNumber.length()==11){if(charPhoneNumber[0]!='0'){for (int i = 0; i< charPhoneNumber.length; i++) {if(charPhoneNumber[i]>='0'&&charPhoneNumber[i]<='9'){   count++;
                        }
                    }
                    if(count==phoneNumber.length()){System.out.println("手機號碼驗證成功!");
                        break loop;
                    }else{System.out.println("手機號碼不全為數(shù)字,請重新輸入!");
                    }
                }else{System.out.println("手機號碼第一位為0,不符合要求,請重新輸入!");
                }
            }else{System.out.println("手機號碼長度不符合要求(長度不為11),請重新輸入!");
            }
        }
        return phoneNumber;
    }
    public static String ZhuCeIdNumber(ArrayListlist){Scanner sc=new Scanner(System.in);
        String idNumber="";
        loop:while(true){int count=0;
            System.out.println("請輸入您的身份證號碼:");
           idNumber=sc.next();
            if(idNumber.length()==18){  char []charIddNumber=  idNumber.toCharArray();
              if(charIddNumber[0]!='0'){  for (int i = 0; i< charIddNumber.length-1; i++) {  if(charIddNumber[i]>='0'&& charIddNumber[i]<='9'){  count++;
                      }
                  }
                  if(count==charIddNumber.length-1){  if((charIddNumber[17]>='0'&&charIddNumber[17]<='9')||charIddNumber[17]=='x'||charIddNumber[17]=='X'){  System.out.println("身份證驗證成功!");
                          break loop;
                      }
                  }else{  System.out.println("前17為不全為數(shù)字,不符合要求,請重新輸入!");
                  }
              }else {  System.out.println("身份證首位為0,不符合要求,請重新輸入!");
              }
            }else{System.out.println("身份證長度不符合要求,請重新輸入!");
            }
        }
        return idNumber;
    }
    public static String ZhuCePassword(ArrayListlist){Scanner sc=new Scanner(System.in);
        String password="";
        while(true){System.out.println("請設(shè)置您的密碼:");
            String password1=sc.next();

            System.out.println("請再次輸入您的密碼:");
            String password2=sc.next();

            if(password1.equals(password2)){System.out.println("密碼設(shè)置成功!" );
                password=password1;
                break;
            }
            else{System.out.println("兩次密碼設(shè)置不一致,請重新設(shè)置密碼:");
            }
        }
        return password;
    }
    public static String ZhuCeUserName(ArrayListlist){User user=new User();
        Scanner sc=new Scanner(System.in);
        String username="";
        loop: while(true){System.out.println("=====注冊開始=====");
            System.out.println("請輸入用戶名:");
            username=sc.next();
            char []charUserName=username.toCharArray();
            int count=0;
            int countLength=0;
            boolean flag=isExist(list,username);
            if(!flag){if(username.length()>=3&&username.length()<=15){for (int i = 0; i< charUserName.length; i++) {if((charUserName[i]>='a'&&charUserName[i]<='z')||(charUserName[i]>='A'&&charUserName[i]<='Z')||(charUserName[i]>='0'&&charUserName[i]<='9')){countLength++;
                        }
                        if((charUserName[i]>='a'&&charUserName[i]<='z')||(charUserName[i]>='A'&&charUserName[i]<='Z')){count++;
                        }
                        if(count>0&&(countLength== username.length())){System.out.println("用戶名設(shè)置成功!");
                            user.setUserName(username);
                            break loop;
                        }
                    }
                    System.out.println("用戶名不能是純數(shù)字,請重新輸入用戶名進行注冊!");
                }else{System.out.println("用戶名長度不符合要求,請重新注冊!");
                }
            }else{System.out.println("該用戶名已存在,請重新注冊!");
            }
        }
        return username;
    }
    public static void forgetPassword(ArrayListlist){Scanner sc=new Scanner(System.in);
        User u=new User();
        System.out.println("請輸入用戶名:");
        String username=sc.next();
        int index=getIndex(list,username);
        u.setUserName(username);
        boolean flag=isExist(list,username);
        if(flag){System.out.println("請輸入身份證號碼:");
            String idNumber=sc.next();
            u.setIdNumber(idNumber);

            System.out.println("請輸入手機號碼:");
            String phoneNumber=sc.next();
            u.setPhoneNumber(phoneNumber);

            boolean flag1=idNumberExist(list,u);
            boolean flag2=phoneNumberExist(list,u);
            if(flag1&&flag2){System.out.println("請輸入密碼,進行修改:");
                String newPassword=sc.next();
                u.setPassword(newPassword);
                list.set(index,u);
                System.out.println("密碼修改成功!");
            }else{System.out.println("賬號信息不匹配,修改失??!");
            }
        }else{System.out.println("用戶名未注冊!");
        }
    }
    public static boolean isExist(ArrayListlist,String userName){   return getIndex(list,userName)>=0;
    }
    public static int getIndex(ArrayListlist,String userName){for (int i = 0; i< list.size(); i++) {User user=list.get(i);
            String name=user.getUserName();
            if(name.equals(userName)){return i;
            }
        }
        return -1;
    }
    public static boolean passwordExist(ArrayListlist,User user){for (int i = 0; i< list.size(); i++) {User u=list.get(i);
            String password=u.getPassword();
            if(password.equals(user.getPassword())){return true;
            }
        }
        return false;
    }
    public static boolean idNumberExist(ArrayListlist,User user){for (int i = 0; i< list.size(); i++) {User u=list.get(i);
            String idNumber=u.getIdNumber();
            if(idNumber.equals(user.getIdNumber())){return true;
            }
        }
        return false;
    }
    public static boolean phoneNumberExist(ArrayListlist,User user){for (int i = 0; i< list.size(); i++) {User u=list.get(i);
            String phoneNumber=u.getPhoneNumber();
            if(phoneNumber.equals(user.getPhoneNumber())){return true;
            }
        }
        return false;
    }
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


當前題目:用戶管理系統(tǒng)--JAVA-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/igeis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部