web前端 (01)SE项目(一)

客户端与服务器的数据格式与类型

为了方便 客户端与服务器进行交流,
双方所交流的所有数据, 统一使用HashMap对象进行交流 !

消息类型文档

  • 客户端向服务器发送数据的消息类型
    10001 : 登录操作 , Hashmap中 会包含一个user对象, 键为 data

  • 服务器向客户端回复的消息类型

视图代码

package cn.xdl.view;

import java.util.Scanner;

import cn.xdl.bean.User;

public class ClientView {

    /**
     * 用来在客户端中, 接收用户输入的 对象
     */
    private static Scanner input = new Scanner(System.in);
    /**
     * 当应用打开时的 欢迎视图
     */
    public static User welcomeView() {
        System.out.println("****************************************************");
        System.out.println("******\t欢迎来到在线考试系统\t******");
        System.out.println("******\t请根据系统提示进行操作:\t******");
        System.out.println("******\t请输入您的账号: \t******");
        //接收用户的帐号
        String username = input.nextLine();
        System.out.println("******\t请输入您的密码: \t******");
        //接收用户的密码
        String password = input.nextLine();
        System.out.println("****************************************************");
        return new User(username, password);
    }

    /**
     * 用于弹出学员菜单
     * @return
     *      返回的是学员选择的菜单内容: 
     *      <br>0:  退出 
            <br>1:  修改密码 
            <br>2:  开始考试 
            <br>3:  查询历史成绩 
            <br>4:  导出所有成绩 
     */
    public static int studentMenuView() {
        System.out.println("****************************************************");
        System.out.println("******\t欢迎登录学员系统\t******");
        System.out.println("******\t请根据系统提示进行操作:\t******");
        System.out.println("******\t0:  退出 \t******");
        System.out.println("******\t1:  修改密码 \t******");
        System.out.println("******\t2:  开始考试 \t******");
        System.out.println("******\t3:  查询历史成绩 \t******");
        System.out.println("******\t4:  导出所有成绩 \t******");
        //接收用户选择的菜单内容
        String text = input.nextLine();
        int type = -1;
        try {
            type = Integer.parseInt(text);
        }catch(NumberFormatException e) {
            // 当用户输入的内容, 不是数字,  则出现此异常
        }

        //如果type依然为-1.  则表示用户可能输入了-1 或 输入了非数字
        if(type<0||type>4) {
            //不合理操作
            System.out.println("******\t帅逼, 你输入错了\t******");
            return studentMenuView();
        }
        return type;
    }
    /**
     * 用于弹出学员菜单
     * @return
     *      返回的是管理员选择的菜单内容: 
     *      <br>0:  退出 
            <br>1:  增加考试学员 
            <br>2:  删除考试学员 
            <br>3:  修改考试学员 
            <br>4:  查询考试学员 
            <br>5:  增加考试试题
            <br>6:  删除考试试题
            <br>7:  修改考试试题
            <br>8:  查询考试试题
            <br>9:  批量导入考试试题
     */
    public static int managerMenuView() {
        System.out.println("****************************************************");
        System.out.println("******\t欢迎大佬回来\t******");
        System.out.println("******\t请根据系统提示进行操作:\t******");
        System.out.println("******\t0:  退出 \t******");
        System.out.println("******\t1:  增加考试学员  \t******");
        System.out.println("******\t2:  删除考试学员  \t******");
        System.out.println("******\t3:  修改考试学员  \t******");
        System.out.println("******\t4:  查询考试学员  \t******");
        System.out.println("******\t5:  增加考试试题 \t******");
        System.out.println("******\t6:  删除考试试题 \t******");
        System.out.println("******\t7:  修改考试试题 \t******");
        System.out.println("******\t8:  查询考试试题 \t******");
        System.out.println("******\t9:  批量导入考试试题 \t******");
        //接收用户选择的菜单内容
        String text = input.nextLine();
        int type = -1;
        try {
            type = Integer.parseInt(text);
        }catch(NumberFormatException e) {
            // 当用户输入的内容, 不是数字,  则出现此异常
        }

        //如果type依然为-1.  则表示用户可能输入了-1 或 输入了非数字
        if(type<0||type>9) {
            //不合理操作
            System.out.println("******\t帅逼, 你输入错了\t******");
            return managerMenuView();
        }
        return type;
    }

    /**
     * 用于学员修改自身密码的操作
     * @param user 传递的用户对象,  包含了用户的帐号 密码为空
     *      当方法执行完毕后, 旧的密码会存储在user对象中的pssword属性中
     * @return 用户对象,  包含了新的密码
     */
    public static User updateUserPassView_s(User user) {
        System.out.println("****************************************************");
        System.out.println("******\t修改密码操作\t******");
        System.out.println("******\t请输入你的原密码:\t******");
        String oldPass = input.nextLine();
        System.out.println("******\t请输入你的新密码:\t******");
        String newPass1 = input.nextLine();
        System.out.println("******\t请确认你的新密码:\t******");
        String newPass2 = input.nextLine();

        if(newPass1!=null && newPass1.equals(newPass2)) {
            //密码不为空, 且两次输入相同
            user.setPassword(oldPass);
            return new User(null, newPass1);
        }else {
            //密码为空 或 两次输入 不一致
            System.out.println("两次密码输入不一致, 请重新输入");
            return updateUserPassView_s(user);
        }
    }

    /**
     * 管理员 添加学员的操作方法
     * @return 要添加的学员对象  , 包含了账号和密码
     */
    public static User addUserView() {
        System.out.println("****************************************************");
        System.out.println("******\t添加学员操作\t******");
        System.out.println("******\t请输入新的学员帐号\t******");
        String username = input.nextLine();
        System.out.println("******\t请输入新的学员密码\t******");
        String password = input.nextLine();
        return new User(username, password);
    }
    /**
     * 管理员 删除学员的操作方法
     * @return 要删除的学员帐号
     */
    public static String deleteUserView() {
        System.out.println("****************************************************");
        System.out.println("******\t删除学员操作\t******");
        System.out.println("******\t请输入要删除的学员帐号\t******");
        String username = input.nextLine();
        return username;
    }
    /**
     * 管理员 修改学员密码的操作方法
     * @return 用户对象, 包含了用户的帐号 以及 新的密码
     */
    public static User updateUserView_m() {
        System.out.println("****************************************************");
        System.out.println("******\t修改学员密码操作\t******");
        System.out.println("******\t请输入学员的帐号\t******");
        String username = input.nextLine();
        System.out.println("******\t请输入学员的新密码\t******");
        String password = input.nextLine();
        return new User(username, password);
    }
    /**
     * 通过帐号, 查询用户的操作方法
     * @return  要查询的学员帐号
     */
    public static String findUserByName() {
        System.out.println("****************************************************");
        System.out.println("******\t查询学员操作\t******");
        System.out.println("******\t请输入要查询的学员帐号\t******");
        String username = input.nextLine();
        return username;
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值