X  
登录

还没有账号?立即注册

忘记密码?
登陆
X  
注册

已经有账号?马上登陆

获取验证码
重新获取(60s)
立即注册
统计
  • 建站日期:2021-03-10
  • 文章总数:518 篇
  • 评论总数:155 条
  • 分类总数:32 个
  • 最后更新:4月20日
文章 未分类

用户注册功能

梦幻书涯
首页 未分类 正文

 

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;
 }
}

 

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;
   }
  }
 }
}

 

 

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.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);
}

 

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
这篇文章最后更新于2019-6-9,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
鼠标事件全面举例和升华
« 上一篇
接口的概述和讲解
下一篇 »

发表评论

HI ! 请登录
注册会员,享受下载全站资源特权。
登陆 注册
永远的少年,永远的梦

热门文章