图书管理系统的部分操作(java)
2013-06-09 19:07
441 查看
1、user.java文件
定义用户
定义时,写出变量,private int id;
private String name;
private String pwd;
private String email;
然后右击
选择Source,
选择Generate Getters and Setters...,select all
选择Generate hash() and equals()...,选择id
选择Generate Constructor using Fields...
选择Generate Constructor from Superclass...
public class User {
private int
id;
private
String name;
private
String pwd;
private
String email;
public int
getId() {
return
id;
}
public void
setId(int id) {
this.id =
id;
}
public
String getName() {
return
name;
}
public void
setName(String name) {
this.name =
name;
}
public
String getPwd() {
return
pwd;
}
public void
setPwd(String pwd) {
this.pwd =
pwd;
}
public
String getEmail() {
return
email;
}
public void
setEmail(String email) {
this.email =
email;
}
public
User() {
}
public User(
int id, String name, String pwd,String email)
{
super();
this.email =
email;
this.id =
id;
this.name =
name;
this.pwd =
pwd;
}
@Override
public int
hashCode()
{
添加hash()和equals()方法(以id为基准)
final int
prime = 31;
int result =
1;
result =
prime * result + id;
return
result;
}
@Override
public
boolean equals(Object obj) {
if (this ==
obj)
return
true;
if (obj ==
null)
return
false;
if
(getClass() != obj.getClass())
return
false;
User other =
(User) obj;
if (id !=
other.id)
return
false;
return
true;
}
//toString
软件少用!!! 显示字符串
public
String
toString(){
return
this.id+this.name+this.pwd+this.email;
}
}
2、方法总
public interface IUserManager {
void
reg(String name, String pwd, String email);// 注册
User
login(String name, String pwd);// 登录
void
updatePwd(int id, String pwd);// 更新口令
User[]
findAll();// 查询所有用户
User
findById(int id);// 依据id查找用户
User
findByName(String name); // 依据名字查找用户
User
findByEmail(String email); // 依据邮件查询用户
}
3、方法的填写
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import
java.util.Set;
跟据需要引包
public class UserMangerImpl implements
IUserManager {
private
static int count = 1;
public
static Map<String, User> db = new
HashMap<String, User>();
//
@Override
// public
User[] findAll() {
//
Collection<User> all =
db.values();
//
return
all.toArray(new User[0]); // 转换成数组类型
//
// }
@Override
public User
findByEmail(String email)
{
// 依据邮件查询用户
Collection<User> c1 =
db.values();
Iterator<User> it =
c1.iterator();
while
(it.hasNext()) {
User u =
it.next();
if
(u.getEmail().equals(email) )
return
u;
}
return
null;
}
@Override
public User
findById(int id)
{
// 依据id查询用户
Collection<User> c1 =
db.values();
for (User u
: c1) {
if
(u.getId() == id) {
return
u;
}
}
return
null;
}
@Override
public User
findByName(String name)
{
// 依据用户名查询用户
return
db.get(name);
}
@Override
public User
login(String name, String pwd)
{
//登陆
User u =
db.get(name);
if (u ==
null) {
System.out.println("wrong");
}
if
(!u.getPwd().equals(pwd)) {
System.out.println("the passwords are wrong");
}
return
u;
}
@Override
public void
reg(String name, String pwd, String email) {
//注册
if (true ==
db.containsKey(name)) {
throw new
IllegalArgumentException("用户已存在");
}
User u = new
User(count++, name, pwd, email);
db.put(name,
u);
}
@Override
public void
updatePwd(int id, String pwd)
{
//更新
User u =
findById(id);
if (u ==
null) {
System.out.println("指定的用户不存在");
}
u.setPwd(pwd);
}
@Override
public
User[] findAll() {
// TODO
Auto-generated method stub
return
null;
}
}
4、方法的测试
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;
public class test {
public
static void main(String[] args) {
IUserManager
um = new UserMangerImpl();
um.reg("aaa", "111", "emali@1");
um.reg("bbb", "222", "emali@2");
um.reg("ccc", "333", "emali@3");
um.updatePwd(1, "456");
System.out.println(um.login("aaa", "111"));
System.out.println(um.login("bbb", "222"));
System.out.println(um.login("ccc", "333"));
System.out.println(um.findById(1));
System.out.println(um.findById(2));
System.out.println(um.findById(4));
System.out.println(um.findByName("aaa"));
System.out.println(um.findByName("bb3"));
System.out.println(um.findByName("cc3"));
System.out.println(um.findByEmail("emali@6"));
System.out.println(um.findByEmail("emali@2"));
System.out.println(um.findByEmail("emali@3"));
User a[] =
um.findAll();
for (int i =
0; i < a.length; i++)
System.out.println(a[i]);
Collection<User> c1 =
UserMangerImpl.db.values();
Iterator<User> it =
c1.iterator();
while
(it.hasNext()) {
User u =
it.next();
System.out.println(u);
}
}
}
5、
import java.util.Scanner;
public class Ul {
static
IUserManager manager = new UserMangerImpl();
static
boolean stop = true;
public
static void main(String[] args) {
System.out.println("根据提示输入信息");
Scanner sc =
new Scanner(System.in);
while (stop)
{
System.out.println
("1注册,2登陆,3显示用户信息,4用用户名查找某个用户,5用邮箱查找某个用户,6更改密码");
String cmd =
sc.nextLine();
if
("1".equals(cmd)) {
System.out.println("输入姓名");
String name
= sc.nextLine();
System.out.println("输入密码");
String pwd =
sc.nextLine();
System.out.println("输入邮箱");
String email
= sc.nextLine();
manager.reg(name, pwd, email);
}
if
("3".equals(cmd)) {
User[] c1 =
manager.findAll();
for (User u
: c1)
System.out.println(u);
}
if
("2".equals(cmd)) {
System.out.println("输入姓名");
String name
= sc.nextLine();
if (name ==
null) {
System.out.println("wrong");
}
System.out.println("输入密码");
String pwd =
sc.nextLine();
System.out.println(manager.login(name, pwd));
}
if
("4".equals(cmd)) {
System.out.println("输入姓名");
String name
= sc.nextLine();
if (name ==
null) {
System.out.println("wrong");
}
System.out.println(manager.findByName(name));
}
if
("5".equals(cmd)) {
System.out.println("输入邮箱");
String email
= sc.nextLine();
if (email ==
null) {
System.out.println("wrong");
}
System.out.println(manager.findByEmail(email));
}
if
("6".equals(cmd)) {
System.out.println("输入要更改密码的用户名");
String name
= sc.nextLine();
if (name ==
null) {
System.out.println("wrong");
}
manager.updatePwd(1, "456");
}
}
}
}
定义用户
定义时,写出变量,private int id;
private String name;
private String pwd;
private String email;
然后右击
选择Source,
选择Generate Getters and Setters...,select all
选择Generate hash() and equals()...,选择id
选择Generate Constructor using Fields...
选择Generate Constructor from Superclass...
public class User {
private int
id;
private
String name;
private
String pwd;
private
String email;
public int
getId() {
return
id;
}
public void
setId(int id) {
this.id =
id;
}
public
String getName() {
return
name;
}
public void
setName(String name) {
this.name =
name;
}
public
String getPwd() {
return
pwd;
}
public void
setPwd(String pwd) {
this.pwd =
pwd;
}
public
String getEmail() {
return
email;
}
public void
setEmail(String email) {
this.email =
email;
}
public
User() {
}
public User(
int id, String name, String pwd,String email)
{
super();
this.email =
email;
this.id =
id;
this.name =
name;
this.pwd =
pwd;
}
@Override
public int
hashCode()
{
添加hash()和equals()方法(以id为基准)
final int
prime = 31;
int result =
1;
result =
prime * result + id;
return
result;
}
@Override
public
boolean equals(Object obj) {
if (this ==
obj)
return
true;
if (obj ==
null)
return
false;
if
(getClass() != obj.getClass())
return
false;
User other =
(User) obj;
if (id !=
other.id)
return
false;
return
true;
}
//toString
软件少用!!! 显示字符串
public
String
toString(){
return
this.id+this.name+this.pwd+this.email;
}
}
2、方法总
public interface IUserManager {
void
reg(String name, String pwd, String email);// 注册
User
login(String name, String pwd);// 登录
void
updatePwd(int id, String pwd);// 更新口令
User[]
findAll();// 查询所有用户
User
findById(int id);// 依据id查找用户
User
findByName(String name); // 依据名字查找用户
User
findByEmail(String email); // 依据邮件查询用户
}
3、方法的填写
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import
java.util.Set;
跟据需要引包
public class UserMangerImpl implements
IUserManager {
private
static int count = 1;
public
static Map<String, User> db = new
HashMap<String, User>();
//
@Override
// public
User[] findAll() {
//
Collection<User> all =
db.values();
//
return
all.toArray(new User[0]); // 转换成数组类型
//
// }
@Override
public User
findByEmail(String email)
{
// 依据邮件查询用户
Collection<User> c1 =
db.values();
Iterator<User> it =
c1.iterator();
while
(it.hasNext()) {
User u =
it.next();
if
(u.getEmail().equals(email) )
return
u;
}
return
null;
}
@Override
public User
findById(int id)
{
// 依据id查询用户
Collection<User> c1 =
db.values();
for (User u
: c1) {
if
(u.getId() == id) {
return
u;
}
}
return
null;
}
@Override
public User
findByName(String name)
{
// 依据用户名查询用户
return
db.get(name);
}
@Override
public User
login(String name, String pwd)
{
//登陆
User u =
db.get(name);
if (u ==
null) {
System.out.println("wrong");
}
if
(!u.getPwd().equals(pwd)) {
System.out.println("the passwords are wrong");
}
return
u;
}
@Override
public void
reg(String name, String pwd, String email) {
//注册
if (true ==
db.containsKey(name)) {
throw new
IllegalArgumentException("用户已存在");
}
User u = new
User(count++, name, pwd, email);
db.put(name,
u);
}
@Override
public void
updatePwd(int id, String pwd)
{
//更新
User u =
findById(id);
if (u ==
null) {
System.out.println("指定的用户不存在");
}
u.setPwd(pwd);
}
@Override
public
User[] findAll() {
// TODO
Auto-generated method stub
return
null;
}
}
4、方法的测试
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;
public class test {
public
static void main(String[] args) {
IUserManager
um = new UserMangerImpl();
um.reg("aaa", "111", "emali@1");
um.reg("bbb", "222", "emali@2");
um.reg("ccc", "333", "emali@3");
um.updatePwd(1, "456");
System.out.println(um.login("aaa", "111"));
System.out.println(um.login("bbb", "222"));
System.out.println(um.login("ccc", "333"));
System.out.println(um.findById(1));
System.out.println(um.findById(2));
System.out.println(um.findById(4));
System.out.println(um.findByName("aaa"));
System.out.println(um.findByName("bb3"));
System.out.println(um.findByName("cc3"));
System.out.println(um.findByEmail("emali@6"));
System.out.println(um.findByEmail("emali@2"));
System.out.println(um.findByEmail("emali@3"));
User a[] =
um.findAll();
for (int i =
0; i < a.length; i++)
System.out.println(a[i]);
Collection<User> c1 =
UserMangerImpl.db.values();
Iterator<User> it =
c1.iterator();
while
(it.hasNext()) {
User u =
it.next();
System.out.println(u);
}
}
}
5、
import java.util.Scanner;
public class Ul {
static
IUserManager manager = new UserMangerImpl();
static
boolean stop = true;
public
static void main(String[] args) {
System.out.println("根据提示输入信息");
Scanner sc =
new Scanner(System.in);
while (stop)
{
System.out.println
("1注册,2登陆,3显示用户信息,4用用户名查找某个用户,5用邮箱查找某个用户,6更改密码");
String cmd =
sc.nextLine();
if
("1".equals(cmd)) {
System.out.println("输入姓名");
String name
= sc.nextLine();
System.out.println("输入密码");
String pwd =
sc.nextLine();
System.out.println("输入邮箱");
String email
= sc.nextLine();
manager.reg(name, pwd, email);
}
if
("3".equals(cmd)) {
User[] c1 =
manager.findAll();
for (User u
: c1)
System.out.println(u);
}
if
("2".equals(cmd)) {
System.out.println("输入姓名");
String name
= sc.nextLine();
if (name ==
null) {
System.out.println("wrong");
}
System.out.println("输入密码");
String pwd =
sc.nextLine();
System.out.println(manager.login(name, pwd));
}
if
("4".equals(cmd)) {
System.out.println("输入姓名");
String name
= sc.nextLine();
if (name ==
null) {
System.out.println("wrong");
}
System.out.println(manager.findByName(name));
}
if
("5".equals(cmd)) {
System.out.println("输入邮箱");
String email
= sc.nextLine();
if (email ==
null) {
System.out.println("wrong");
}
System.out.println(manager.findByEmail(email));
}
if
("6".equals(cmd)) {
System.out.println("输入要更改密码的用户名");
String name
= sc.nextLine();
if (name ==
null) {
System.out.println("wrong");
}
manager.updatePwd(1, "456");
}
}
}
}
相关文章推荐
- JAVA简单的图书管理系统
- Java80商城系统第九节-前端订单操作后台订单评论管理
- 基于JAVA的图书管理系统(jsp+mysql+tomcat)
- 基于JAVA对象流写的图书进销存系统管理
- 总结:JAVA小项目——图书管理系统
- 利用java实现基于文本的图书管理系统(有界面)
- 数据结构(JAVA版本)练习之集合 简易图书管理系统
- java图书管理系统(窗体)
- Java之------单机版书店管理系统(设计思想和设计模式系列四)图书模块
- java系统-图书管理系统
- JavaCore-OOP-3-图书管理系统(完善版)
- 简单的考生管理系统,java以XML为数据库,jaxp操作XML实现简单的增删查功能
- 图书管理系统【JavaWeb:部署开发环境、解决分类、图书、前台页面模块】
- java-图书管理系统
- Java xml 图书管理系统-目录
- JAVA项目(二)——图书管理系统
- Java入门教程之图书管理系统(由简入繁)(二)
- Java入门教程之图书管理系统(由简入繁)(三)
- 图书管理系统(mysql部分)&nbsp;初步设…
- Java xml 图书管理系统-Book类