class
import java.util.Arrays; import java.util.Scanner; public class User { String name; String password; String sex ; int age ; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public User[] shuzu(User[] users) { //初始化數組,預存2人 users[0].name = "qqq"; users[0].password = "123"; users[1].name = "bbb"; users[1].password = "456"; for (int i = 0; i < users.length; i++) { System.out.println(users[i].name+" "+users[i].password); } return users; } //______________________注冊__________________________________ public User[] register(String newn,String newp,User[] users){ users= Arrays.copyOf(users, users.length+1);//數組擴容+1 User q = new User() ; // System.out.println(users.length); //輸出新數組長度,輔助校驗數組擴容 int a = 0 ; for (int i = 0; i < users.length-1; i++) { //校驗用戶名是否重復,重復 a+1 if(users[i].name.equals(newn) ){ a++; } } if(a == 0){//a=0.用戶名不重復,賦值 users[users.length-1] = q ;//新建對象存入數組最后一個位置 users[users.length-1].name = newn; users[users.length-1].password = newp; System.out.println("注冊成功"); }else{ // 用戶名重復,提示 System.out.println("用戶名重復"); } // for (int i = 0; i < users.length; i++) { //輸出現有用戶名,輔助校驗 // System.out.println(users[i].name); // } return users;//返回數組 } //______________________登錄__________________________________ int flag;// 輔助循環判定 public void login(String newn,String newp,User[] users){ for (int i = 0; i < users.length; i++) {//循環遍歷數組 System.out.println(users[i].name+"標記"+i+"標記"+users[i].password);//遍歷輸出現在數組 if(newn.equals(users[i].name) && newp.equals(users[i].password) ){ flag = 0; //同一下標的對象的用戶名和密碼與輸入的用戶名和密碼都一樣,flag賦值0 break;//退出循環 }else{ flag =1;//同一下標的對象的用戶名和密碼與輸入的用戶名和密碼不一樣,flag賦值0,說明輸入的用戶名和密碼有問題 } } // System.out.println(newn + newp); if(flag == 0){ // 給出系統提示 System.out.println("登錄成功"); }else{ System.out.println("用戶名或密碼錯誤,登錄失敗"); } } //________________________________修改密碼—————————————————————————————————— public User[] change(String oldn,String oldm,User[] users) { int a = 0 ; for (int i = 0; i < users.length; i++) {//循環遍歷數組,校驗輸入的用戶名是否存在 if(oldn.equals(users[i].name)){ a = i; flag = 0; }else{ flag = 1 ; } } if(flag == 0){//輸入的用戶名存在,輸入的新密碼替換舊密碼 users[a].password = oldm; System.out.println("密碼修改成功"); System.out.println("用戶名:"+users[a].name +" "+"新密碼"+users[a].password); }else{//輸入的用戶名不存在,提示輸入有誤 System.out.println("輸入的用戶名未查詢到"); } return users;//返回新數組 } }
demo
import java.util.Arrays; import java.util.Scanner; public class Demo1{//_____________________用戶名密碼———————————————————— public static void main(String[] args) { User us = new User(); User us1 = new User(); User us2 = new User(); User[] users = {us1,us2}; us.shuzu( users);//初始化數組 for (int i = 1; i > 0; i++) { //循環實現登錄注冊 System.out.println("請選擇操作:1注冊,2登錄 3修改密碼"); Scanner sc = new Scanner(System.in); String num = sc.next(); if(num.equals("1")){ // 注冊功能 System.out.println("_________注冊__________"); System.out.println("請創建用戶名"); us.setName(sc.next()); System.out.println("請創建密碼"); us.setPassword(sc.next()); // System.out.println(us.getName()); users = us.register(us.getName(),us.getPassword(), users); }else if(num.equals("2")){ // 登錄功能 System.out.println("__________登錄_________"); System.out.println("請輸入用戶名"); String newn = sc.next(); System.out.println("請輸入密碼"); String newp = sc.next(); us.login(newn, newp, users); }else if(num.equals("3")){ //修改密碼 System.out.println("__________修改密碼_________"); System.out.println("請輸入舊用戶名"); us.setName(sc.next()); System.out.println("請輸入新的密碼"); us.setPassword(sc.next()); users = us.change(us.getName(), us.getPassword(), users); } else{ //輸入值有誤,提示 System.out.println("輸入的值有誤"); } } } }