Java项⽬案例1、⼤富翁游戏系统项⽬案例:  ⼤富翁游戏系统
功能:
有注册功能,登陆功能,抽奖功能,查询功能,修改密码功能,删除账号功能,退出功能
思路:
需要建⽴⼀个⽤户类,每次新建注册⽤户时new⼀下即可。
需要建⽴⼀个管理类,具备增删改查的⽅法。
需要建⽴⼀个测试类,在主⽅法中循环显⽰主菜单页⾯。
各个类的具体说明:
User类:
定义私有的nama(账号)、私有的password(密码)、私有的nums(会员号)、
并向外⾯提供⼀系列公共的getter and setting⽅法,来调⽤本类的属性。
建⽴默认的构造⽅法和带参的构造⽅法,⽅遍直接赋值。
可能⽤到的知识点:
private:封装
把属性封装起来,拒绝外⾯的直接赋值和调⽤,并且向外⾯提供公共的⽅法来设置和调⽤ 本类属性。
构造⽅法:
⽅法名和类名相同,没有声明返回类型的⽅法,(不可被继承)
分为⽆参的构造⽅法(默认的构造⽅法,⼀般要保留),
带参的构造⽅法,⽅遍直接赋值。(在实例化对象时直接赋值)。
在定义⼀个公共的打印⽅法,⽅便输出本类信息。
Operation类:(管理类)
在类中创建⼀个存储⽤户对象的数组,数组类型与元素类型相同 User[] user = null;
创建⼀个构造⽅法,传⼊⼀个数组的⼤⼩,user = new User[size];
如果没有传⼊数,或者传⼊数⼩于0,则给他⼀个默认⼤⼩10。
定义⼀个count=0,记录数组中元素的个数,并且可以作为下标遍历数组
注册的⽅法:
先判断元素个数,如果数组满了,就新建⼀个更⼤的数组,把数据拷贝过来即可
传⼊⼀个⽤户,遍历⽤户数组,查看已有⽤户的账号是否存在,如果存在,给出提⽰,重新输⼊
如果不存在,则存储起来,count++;
登陆的⽅法:
传⼊⼀个⽤户,或者转⼊账号密码;遍历数组,如果匹配到账号,查看密码相同,则返回boolean值 true
如果没有匹配到,则返回false
通过boolean类型的值来判断是否登录成功。
修改密码的⽅法
⽤第⼀个⽅法匹配账号密码,成功返回下标,失败返回-1
再⽤第⼆个⽅法,传⼊下标和新密码
把 新传⼊的密码 赋值给对应⽤户对象的密码属性
删除的⽅法
循环遍历 数组 ,先匹配到账号
如果密码也匹配到,把删除位置以后的元素 往前挪⼀位,users[count] == null;把最后的元素释放    count -1
抽奖⽅法:
可以在实验类中直接⽐较,也可以在本⽅法中⽐较,
测试类:
实例化对象的准备幸运数字  ,死循环,保持可以 ⼀直在主菜单状态
⽤switch  进⼊不同的 功能
每个功能
有的设置死循环,重复判断 输⼊的账号密码,
有的创建 ⽤户对象
部分代码
/
**
* 注册的⽅法:
*/
public int register(String userName, String userPassword) {
//先判断元素个数,如果数组满了,就新建⼀个更⼤的数组,把数据拷贝过来即可
if (count == user.length) {
user = java.pyOf(user, user.length + 10);
}
//传⼊⼀个⽤户,遍历⽤户数组,查看已有⽤户的账号是否存在,如果存在,给出提⽰,重新输⼊
for (int i = 0; i < count; i++) {
if (userName.equals(user[i].getName())) {
return -1;
}
}
}
//如果不存在,则存储起来,count++;
user[count] = new User(userName, userPassword, generateLuckyNumber());
count++;
return count - 1;
}
/**
* 登陆的⽅法:
*/
public User login(String userName, String userPassword) {
//传⼊⼀个⽤户,或者转⼊账号密码;遍历数组,如果匹配到账号,查看密码相同,则返回boolean值 true        int index = matchUserIndex(userName, userPassword);
if (index > -1) {
loginIndex = index;
return user[index];
}
return null;
数组全部赋值为1}
/**
* 更改密码
*
* @param userName        ⽤户名
* @param userOldPassword 旧密码
* @param userNewPassword 新密码
* @return
*/
public boolean changePassword(String userName, String userOldPassword, String userNewPassword) {        int index = matchUserIndex(userName, userOldPassword);
if (index > -1) {
user[index].setPassword(userNewPassword);
return true;
}
return false;
}
/**
* 删除⽤户
*
* @param userName
* @param userPassword
* @return
*/
public boolean deleteUser(String userName, String userPassword) {
int index = matchUserIndex(userName, userPassword);
if (index > -1) {
for (int i = index; i < count; i++) {
user[index] = user[index + 1];//把删除位置以后的元素往前挪⼀位
}
user[count - 1] = null; //把最后的元素释放
count--;//数量减1
return true;
}
return false;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。