Javaコレクション(6)のユーザーログイン登録事例
6198 ワード
需要:ユーザーログイン登録ケース.
次のような操作により、オブジェクト向けの考え方をより記号化することができます.
A:どんな種類がありますか.
B:各類にはどんなものがありますか.
C:クラスとクラスの関係は何ですか.
分析:
A:どんな種類がありますか.
ユーザークラス
テストクラス
B:各類にはどんなものがありますか.
ユーザー・クラス:
メンバー変数:ユーザー名、パスワード
コンストラクションメソッドコンストラクションホウ:パラメトリックコンストラクションなし
メンバーメソッド:getXxx()/setXxx()
ログイン
もしユーザークラスの内容が比較的に正しいならば、将来メンテナンスするのは比較的に面倒で、もっとはっきりした分類のために、私達はユーザーをまた2種類に分けました
ユーザ基本記述クラス
メンバー変数:ユーザー名、パスワード
コンストラクションメソッドコンストラクションホウ:パラメトリックコンストラクションなし
メンバーメソッド:getXxx()/setXxx()
ユーザー操作クラス
ログイン
テストクラス:
mainメソッド.
C:クラスとクラスの関係は何ですか.
テストクラスにユーザー操作クラスとユーザー基本記述クラスのオブジェクトを作成し、その機能を使用します.
下請け:
A:機能区分
B:モジュール区分
C:モジュール別に区分し、機能別に区分する
今日は機能別に分類します.
ユーザ基本記述クラスパッケージcn.itcast.pojo
ユーザ操作インタフェースcn.itcast.dao
ユーザ操作クラスパッケージcn.itcast.dao.impl
今日は集合実現、あと数日でIO実現、あと数日でGUI実現、就職クラスはデータベース実現
ユーザテストクラスcn.itcast.test
次のような操作により、オブジェクト向けの考え方をより記号化することができます.
A:どんな種類がありますか.
B:各類にはどんなものがありますか.
C:クラスとクラスの関係は何ですか.
分析:
A:どんな種類がありますか.
ユーザークラス
テストクラス
B:各類にはどんなものがありますか.
ユーザー・クラス:
メンバー変数:ユーザー名、パスワード
コンストラクションメソッドコンストラクションホウ:パラメトリックコンストラクションなし
メンバーメソッド:getXxx()/setXxx()
ログイン
もしユーザークラスの内容が比較的に正しいならば、将来メンテナンスするのは比較的に面倒で、もっとはっきりした分類のために、私達はユーザーをまた2種類に分けました
ユーザ基本記述クラス
メンバー変数:ユーザー名、パスワード
コンストラクションメソッドコンストラクションホウ:パラメトリックコンストラクションなし
メンバーメソッド:getXxx()/setXxx()
ユーザー操作クラス
ログイン
テストクラス:
mainメソッド.
C:クラスとクラスの関係は何ですか.
テストクラスにユーザー操作クラスとユーザー基本記述クラスのオブジェクトを作成し、その機能を使用します.
下請け:
A:機能区分
B:モジュール区分
C:モジュール別に区分し、機能別に区分する
今日は機能別に分類します.
ユーザ基本記述クラスパッケージcn.itcast.pojo
package cn.itcast.pojo;
/**
*
*
* @author
* @version V1.0
*
*/
public class User {
//
private String username;
//
private String password;
public User() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
ユーザ操作インタフェースcn.itcast.dao
package cn.itcast.dao;
import cn.itcast.pojo.User;
/**
*
*
* @author
* @version V1.0
*
*/
public interface UserDao {
/**
*
*
* @param username
*
* @param password
*
* @return
*/
public abstract boolean isLogin(String username, String password);
/**
*
*
* @param user
*
*/
public abstract void regist(User user);
}
ユーザ操作クラスパッケージcn.itcast.dao.impl
今日は集合実現、あと数日でIO実現、あと数日でGUI実現、就職クラスはデータベース実現
package cn.itcast.dao.impl;
import java.util.ArrayList;
import cn.itcast.dao.UserDao;
import cn.itcast.pojo.User;
/**
* ( )
*
* @author
* @version V1.0
*
*/
public class UserDaoImpl implements UserDao {
// ,
// , private
// , static
private static ArrayList array = new ArrayList();
@Override
public boolean isLogin(String username, String password) {
// , ,
boolean flag = false;
for (User u : array) {
if (u.getUsername().equals(username)
&& u.getPassword().equals(password)) {
flag = true;
break;
}
}
return flag;
}
@Override
public void regist(User user) {
//
// ArrayList array = new ArrayList();
array.add(user);
}
}
ユーザテストクラスcn.itcast.test
package cn.itcast.game;
import java.util.Scanner;
/**
*
*
* @author
* @version V1.0
*
*/
public class GuessNumber {
private GuessNumber() {
}
public static void start() {
//
int number = (int) (Math.random() * 100) + 1;
//
int count = 0;
while (true) {
//
Scanner sc = new Scanner(System.in);
System.out.println(" (1-100):");
int guessNumber = sc.nextInt();
count++;
//
if (guessNumber > number) {
System.out.println(" " + guessNumber + " ");
} else if (guessNumber < number) {
System.out.println(" " + guessNumber + " ");
} else {
System.out.println(" ," + count + " ");
break;
}
}
}
}
package cn.itcast.test;
import java.util.Scanner;
import cn.itcast.dao.UserDao;
import cn.itcast.dao.impl.UserDaoImpl;
import cn.itcast.game.GuessNumber;
import cn.itcast.pojo.User;
/**
*
*
* @author
* @version V1.0
*
* A: ,
* B: switch, switch break, , switch
*
*/
public class UserTest {
public static void main(String[] args) {
//
while (true) {
// ,
System.out.println("-------------- --------------");
System.out.println("1 ");
System.out.println("2 ");
System.out.println("3 ");
System.out.println(" :");
// ,
Scanner sc = new Scanner(System.in);
// ,
String choiceString = sc.nextLine();
// switch ,
UserDao ud = new UserDaoImpl();
// , switch
switch (choiceString) {
case "1":
// ,
System.out.println("-------------- --------------");
System.out.println(" :");
String username = sc.nextLine();
System.out.println(" :");
String password = sc.nextLine();
//
// UserDao ud = new UserDaomImpl();
boolean flag = ud.isLogin(username, password);
if (flag) {
System.out.println(" , ");
System.out.println(" ?y/n");
while (true) {
String resultString = sc.nextLine();
if (resultString.equalsIgnoreCase("y")) {
//
GuessNumber.start();
System.out.println(" ?y/n");
} else {
break;
}
}
System.out.println(" , ");
System.exit(0);
// break; // break, switch
} else {
System.out.println(" , ");
}
break;
case "2":
// ,
System.out.println("-------------- --------------");
System.out.println(" :");
String newUsername = sc.nextLine();
System.out.println(" :");
String newPassword = sc.nextLine();
//
User user = new User();
user.setUsername(newUsername);
user.setPassword(newPassword);
//
//
// UserDao ud = new UserDaoImpl();
//
// UserDaoImpl udi = new UserDaoImpl();
ud.regist(user);
System.out.println(" ");
break;
case "3":
default:
System.out.println(" , ");
System.exit(0);
break;
}
}
}
}