中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于IO版的用戶登錄注冊實例(Java)

發布時間:2020-09-27 23:34:57 來源:腳本之家 閱讀:144 作者:kamaria 欄目:編程語言

今天學的是用戶登錄注冊功能。

4個包:

itcast.cn.user包 User.java 用戶類,描述用戶基本信息,包括成員變量,無參構造函數,帶參構造(可有可無).get和set方法

package itcast.cn.day22;
/*
 * 用戶基本描述包類
 */

public class User {
 private int userName;
 private int passWord;
 public User(){
  super();
 }
 public User(int userName,int passWord){
  super();
  this.userName=userName;
  this.passWord=passWord;  
 }
 public int getUserName() {
  return userName;
 }
 public void setUserName(int userName) {
  this.userName = userName;
 }
 public int getPassWord() {
  return passWord;
 }
 public void setPassWord(int passWord) {
  this.passWord = passWord;
 }

}

tcast.cn.uerDao包 UserDao.java 定義一個接口,聲明登錄注冊功能

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

itcast.cn.userDaoImpl包 UserDaoImpl.java 實現UserDao接口,具體描述登錄注冊方法。

需要注意的是:在登錄方法中,返回值boolean flag = true 即登錄成功

在實現過程中需要注意的一點是:全局變量br,bw的聲明一定要放在try大括號外

IO版本實現方法代碼如下:

public class UserDaoImpl implements UserDao{

@Override
public boolean islogin(String userName, String passWord) {
boolean flag = false;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("user,txt"));
String line = null;

while((line=br.readLine())!=null){
String[] datas = line.split("=");
if(datas[0].equals(userName)&&datas[1].equals(passWord)){
flag = true;
break;
}
}
} 
catch (FileNotFoundException e) {
//e.printStackTrace();
System.out.println("用戶信息獲取失敗");
}catch (IOException e) {
//e.printStackTrace();
System.out.println("用戶登錄失敗");
}
if(br!=null){
try {
br.close();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("用戶釋放資源失敗");
}
}
return flag;
}

@Override
public void register(User user) {
BufferedWriter bw = null; 
try {
bw = new BufferedWriter(new FileWriter("user.txt"));
bw.write(user.getUserName()+"="+user.getPassWord());
bw.newLine();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("注冊失敗");
}finally{
if(bw!=null){
try {
bw.close();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("注冊釋放資源失敗");
}
}
}
57}
}

itcast.cn.usertest包 UserTest類 測試類

在這個類中,存在一個未解決的問題:

scanner函數無法一個一個的輸入,另外構造方法中的(true)需要多看。

package itcast.cn.day22;

import java.util.Scanner;

public class UserTest {
public static void main(String[] args) {
//歡迎界面
while(true){
UserDao ud = new UserDaoImpl();
System.out.println("*****歡迎進入*****");
System.out.println("登錄請輸入1");
System.out.println("注冊請輸入2");
System.out.println("返回請輸入3");

System.out.println("請輸入你的選擇:");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch(choice){
case 1:
System.out.println("*****登錄界面*****************");
//Scanner sc1 = new Scanner(System.in);
System.out.println("請輸入用戶名:");
String userName = sc.nextLine();
System.out.println("請輸入密碼:");
String passWord = sc.nextLine();

boolean flag = ud.islogin(userName, passWord);
if(flag){
System.out.println("登錄成功");
break;
}else{
System.out.println("用戶名或密碼錯誤");
}

case 2:
System.out.println("*****注冊界面****************");
System.out.println("請輸入用戶名:");
String userName1 = sc.nextLine();
System.out.println("請輸入密碼:");
String passWord1 = sc.nextLine();

User user = new User();
user.getUserName();
user.getPassWord();
ud.register(user);
System.out.println("注冊成功");
break;
case 3:
default:
System.out.println("謝謝使用,歡迎下次再來");
System.exit(0);
break;
}
}
}
}

以上這篇基于IO版的用戶登錄注冊實例(Java)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青河县| 和田市| 安陆市| 夏津县| 南雄市| 佳木斯市| 定襄县| 庆安县| 泾阳县| 黄浦区| 团风县| 澳门| 句容市| 大悟县| 临高县| 射阳县| 神农架林区| 白银市| 交城县| 乐亭县| 西林县| 额尔古纳市| 信阳市| 仙居县| 浠水县| 望江县| 靖边县| 叶城县| 开远市| 舒城县| 富蕴县| 巴东县| 邮箱| 恩平市| 建德市| 报价| 临夏县| 固原市| 炎陵县| 玛曲县| 府谷县|