IO版的使用者登入註冊案例(Java)

來源:互聯網
上載者:User

標籤:建構函式   register   login   使用者登入   opened   equals   資源   name   sed   

2017-09-16

這是我在部落格園的第一篇學習筆記。

Java小白,努力進階中...

 

今天學的是使用者登入註冊功能。
4個包:
itcast.cn.user包 User.java 使用者類,描述使用者基本資料,包括成員變數,無參建構函式,帶參構造(可有可無).get和set方法

 1  package itcast.cn.day22; 2 /* 3  * 使用者基本描述包類 4  */ 5  6 public class User { 7     private int userName; 8     private int passWord; 9     public User(){10         super();11     }12     public User(int userName,int passWord){13         super();14         this.userName=userName;15         this.passWord=passWord;        16     }17     public int getUserName() {18         return userName;19     }20     public void setUserName(int userName) {21         this.userName = userName;22     }23     public int getPassWord() {24         return passWord;25     }26     public void setPassWord(int passWord) {27         this.passWord = passWord;28     }29 30 }

 

tcast.cn.uerDao包 UserDao.java 定義一個介面,聲明登入註冊功能

1 public interface UserDao { 2 2 public abstract boolean islogin( String userName, String passWord);3 3 public abstract void register(User user);4 4 }
View Code

 

itcast.cn.userDaoImpl包 UserDaoImpl.java 實現UserDao介面,具體描述登入註冊方法。
需要注意的是:在登入方法中,傳回值boolean flag = true 即登入成功

在實現過程中需要注意的一點是:全域變數br,bw的聲明一定要放在try大括弧外
IO版本實現方法代碼如下:

 1 public class UserDaoImpl implements UserDao{ 2  3 @Override 4 public boolean islogin(String userName, String passWord) { 5 boolean flag = false; 6 BufferedReader br = null; 7 try { 8 br = new BufferedReader(new FileReader("user,txt")); 9 String line = null;10 11 while((line=br.readLine())!=null){12 String[] datas = line.split("=");13 if(datas[0].equals(userName)&&datas[1].equals(passWord)){14 flag = true;15 break;16 }17 }18 } 19 catch (FileNotFoundException e) {20 //e.printStackTrace();21 System.out.println("使用者資訊擷取失敗");22 }catch (IOException e) {23 //e.printStackTrace();24 System.out.println("使用者登入失敗");25 }26 if(br!=null){27 try {28 br.close();29 } catch (IOException e) {30 //e.printStackTrace();31 System.out.println("使用者釋放資源失敗");32 }33 }34 return flag;35 }36 37 @Override38 public void register(User user) {39 BufferedWriter bw = null;    40 try {41 bw = new BufferedWriter(new FileWriter("user.txt"));42 bw.write(user.getUserName()+"="+user.getPassWord());43 bw.newLine();44 } catch (IOException e) {45 //e.printStackTrace();46 System.out.println("註冊失敗");47 }finally{48 if(bw!=null){49 try {50 bw.close();51 } catch (IOException e) {52 //e.printStackTrace();53 System.out.println("註冊釋放資源失敗");54 }55 }56 }57}58 }

 


itcast.cn.usertest包 UserTest類 測試類別

在這個類中,存在一個未解決的問題:
scanner函數無法一個一個的輸入,另外構造方法中的(true)需要多看。

 1 package itcast.cn.day22; 2  3 import java.util.Scanner; 4  5 public class UserTest { 6 public static void main(String[] args) { 7 //歡迎介面 8 while(true){ 9 UserDao ud = new UserDaoImpl();10 System.out.println("*****歡迎進入*****");11 System.out.println("登入請輸入1");12 System.out.println("註冊請輸入2");13 System.out.println("返回請輸入3");14 15 System.out.println("請輸入你的選擇:");16 Scanner sc = new Scanner(System.in);17 int choice = sc.nextInt();18 switch(choice){19 case 1:20 System.out.println("*****登入介面*****************");21 //Scanner sc1 = new Scanner(System.in);22 System.out.println("請輸入使用者名稱:");23 String userName = sc.nextLine();24 System.out.println("請輸入密碼:");25 String passWord = sc.nextLine();26 27 boolean flag = ud.islogin(userName, passWord);28 if(flag){29 System.out.println("登入成功");30 break;31 }else{32 System.out.println("使用者名稱或密碼錯誤");33 }34 35 case 2:36 System.out.println("*****註冊介面****************");37 System.out.println("請輸入使用者名稱:");38 String userName1 = sc.nextLine();39 System.out.println("請輸入密碼:");40 String passWord1 = sc.nextLine();41 42 User user = new User();43 user.getUserName();44 user.getPassWord();45 ud.register(user);46 System.out.println("註冊成功");47 break;48 case 3:49 default:50 System.out.println("謝謝使用,歡迎下次再來");51 System.exit(0);52 break;53 }54 }55 }56 }

 

IO版的使用者登入註冊案例(Java)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.