package cn.itcast.game;
import java.util.Scanner;
/**
-
这是猜数字小游戏
-
@author 徐文
-
@version v1.0
-
*/ public class GuessNumber { //游戏的名字 private GuessNumber(){}
public static void start(){ System.out.println("--------------欢迎进入猜数字小游戏--------------"); //产生一个随机数 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 com.qf.client;
import java.util.Scanner;
import com.qf.pojo.User; import com.qf.service.UserDao; import com.qf.service.UserDaoImpl;
import cn.itcast.game.GuessNumber;
/**
-
用户测试类
-
@author 徐文
-
@version v1.0
-
/ /*
-
用户测试类
-
@author 徐文
-
@version v1.0
-
*/ 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 choice = sc.next(); //switch语句多个地方要使用,我就定义到外面 UserDao ud =new UserDaoImpl(); //经过简单的思考,我选择了switch switch (choice) { case "1": //登录界面,请输入用户名和密码 System.out.println("--------------登录界面--------------"); System.out.println("请输入用户名:"); String username = sc.next(); System.out.println("请输入密码:"); String password = sc.next(); boolean flag = ud.isLogin(username, password); if (flag) { System.out.println("登陆成功,可以选择是否开始玩游戏了"); System.out.println("您玩猜数字小游戏吗?y/n"); while (true) { String result = sc.next(); if (result.equalsIgnoreCase("y")) { //玩游戏 GuessNumber.start(); System.out.println("您还玩吗?y/n"); } else { break; } } System.exit(0); //break;//这里写break,结束的是swich } else { System.out.println("用户名或者密码有误,登陆失败"); } break; case "2": //欢迎界面,请输入用户名和密码 System.out.println("--------------注册界面--------------"); System.out.println("请输入用户名:"); String newUsername = sc.next(); System.out.println("请输入密码:"); String newPassword = sc.next(); //把用户名和密码封装到一个对象中 User user = new User(); user.setName(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; } }} }
package com.qf.pojo;
public class User { //成员变量 private String name; private String password; public User(String name, String password) { super(); this.name = name; this.password = password; } public User() { super(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [name=" + name + ", password=" + password + "]"; }
}
package com.qf.service;
import com.qf.pojo.User;
public interface UserDao { /** * 这是用户的登录功能 * / public abstract boolean isLogin(String username ,String password); / * 这是用户的注册功能,一旦注册,就注册成功 * user 需要注册的用户 */ public abstract void regist(User user);
}
package com.qf.service;
import java.util.ArrayList; import java.util.List;
import com.qf.pojo.User;
public class UserDaoImpl implements UserDao { /**
-
多个功能共同使用这个集合,把它放到成员变量位置
-
为了不让外界访问
-
如何共用这个 对象 */ private static List list =new ArrayList<>();
@Override public boolean isLogin(String username, String password) { //假设登录失败 boolean flag =false; //遍历集合 for (User user : list) { //判断:用户输入的用户和密码是否和集合中存储的用户名和密码一致 if(user.getName().equals(username)&&user.getPassword().equals(password)){ flag=true; break; }
} return flag; }@Override public void regist(User user) { //注册的逻辑 //需要将用户都存储到集合中 //将用户添加到集合中 list.add(user); }
}