1.写一个HashSet,里面存储自定义类Student,Student包括String name和int age,保证元素唯一
2.使用ArrayList集合存储自定义类型Teacher,Teacher包含name,age属性,并且保证遍历集合的时候元素唯一!
3.自定义数组,将该数组使用选择排序进行排序.
4.键盘录入字符串数据,然后将该字符串反转
5.使用集合(ArrayList)思想模拟登录注册_登录成功后,提示“可以开始玩猜数字游戏了”
提示:在猜数字游戏程序中,产生随机数是1-100之间的随机数,如果猜对了,提示"第几次猜对了";
整个玩完游戏,可以跳出这个死循环,程序结束!
使用集合模拟用户登录,注册功能 (没有明确告诉集合类型,默认使用ArrayList集合)
分析:
* 登录,注册功能
* 1)分包:
* com.xx.entity: 实体类
* User:用户
* 属性私有化:username ,password
* 提供对应setXXX()/getXXX()....
*
* com.xx.dao: 数据访问接口层
* UserDao
* 注册方法
* void regist(User user);
*
* //用户输入用户和密码之后,选择注册功能,直接注册成功
* boolean isLogin(String username,String password) ; //登录功能
*
* com.xx.dao.impl:数据访问接口实现层
* UserDaoImpl
* private static ArrayList<User> array = new ArrayList<User>();
*
* 需要用对注册/登录重写 (业务的功能)
*
*
* 注册功能
* 将用户录入的姓名和用户名,封装到User对象中,然后将User对象存储到ArrayList集合中
* ArrayList<User>
*
* public void regist(User user){
* //创建User对象
* //需要的ArrayList集合对象ArrayList<User>
* }
*
* //登录功能
* public boolean isLogin(String username,String password){
* //业务:
* 使用增强for遍历ArrayList集合
* //获取到当前集合中存在用户名和密码,和键盘录入username和password对比
* 如果一致
* 返回值true
* 否则:
* false
* }
*
*
*
*
* com.xx.user.test
* UserTest
* while(true){
* 针对用户不同的选择,执行不同的业务逻辑
* --------------欢迎访问xxx系统----------------
* "1,注册"
* "2,登录"
* "3,退出"
*
* 使用接口多态;UserDao ud = new UserDaoImpl() ;
*
* //创建键盘录入对象
* //录入数据:String
* switch(变量名){
* case "1":
* //注册功能
* //录入用户名和密码:
* ud调用regist(传入封装后的User对象);
* //提示"用户注册成功"
* Syste.exit(0) ;//结束jvm
* //break ;
* case "2" :
* //登录功能
* //录入用户名和密码:
* boolean flag = ud调用isLogin(传入用户名和密码);
* //登录成功,开始玩数字游戏!
*
* break ;
*
* case "3":
* default:
* //退出
* Syste.exit(0) ;
* }
*
*
* }``
public interface UserDao {
void regist(User user);
boolean isLogin(String username,String password) ;
}
``
public class User {
private String username;
private String password;
/**
*
*/
public User() {
// TODO Auto-generated constructor stub
}
/**
* @param username
* @param password
*/
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
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;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((password == null) ? 0 : password.hashCode());
result = prime * result + ((username == null) ? 0 : username.hashCode());
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 (password == null) {
if (other.password != null)
return false;
} else if (!password.equals(other.password))
return false;
if (username == null) {
if (other.username != null)
return false;
} else if (!username.equals(other.username))
return false;
return true;
}
}
import java.util.ArrayList;
import day20.com.ks.register.dao.UserDao;
import day20.com.ks.register.entity.User;
public class UserDaoImpl implements UserDao {
private static ArrayList<User> array = new ArrayList<User>();
@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) {
array.add(user);
}
}
import java.util.Scanner;
public class GuessNumber {
public static void start() {
int number = (int)(Math.random()*100 + 1);
while(true) {
System.out.println("请输入一个1-100的数字:");
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
int guessNumber = sc.nextInt();
if ( guessNumber>number ) {
System.out.println("大了!!");
} else if ( guessNumber<number ) {
System.out.println("小了!!!");
} else {
System.out.println("你可终于猜对了!!!");
break;
}
}
}
}
import java.util.Scanner;
import day20.com.ks.register.dao.UserDao;
import day20.com.ks.register.dao.impl.UserDaoImpl;
import day20.com.ks.register.entity.User;
import day20.com.ks.register.guessnumber.GuessNumber;
public class Test {
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("快说,要选哪个?:");
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
UserDao ud = new UserDaoImpl();
switch(s) {
case "1":
System.out.println("--------------登录界面--------------");
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("恭喜你!登陆成功!请开始愉快的游戏旅程!");
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);
} 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);
ud.regist(user);
System.out.println("注册成功");
break;
case "3":
default:
System.out.println("拜拜了您嘞");
System.exit(0);
break;
}
}
}
}