学习日记——0810登录注册实现及优化

今日工作:

import com.team1.util.ScannerUtil;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class User {

    private String username;
    private String password;
    private Cart cart;

    public boolean login() {
        System.out.println("请输入用户名:");
        //
        String username = ScannerUtil.getInput();
        System.out.println();
        System.out.println("请输入密码:");
        String password = ScannerUtil.getInput();
        //String username = ScannerUtil.getInput();
        User user = getUsersByName(username);
        if(user == null){
            System.out.println("用户名不存在,登录失败");
            return false;
        }
        //如果拿到user 去比对密码
        if(!password.equals(user.password)){
            System.out.println("密码错误,登录失败");
            return false;
        }
        System.out.println("登录成功");
        return true;
    }
    public boolean regist(){
        //System.out.println("这是注册方法");
        System.out.println("请输入用户名:");
        //
        String username = ScannerUtil.getInput();
        System.out.println();
        System.out.println("请输入密码:");
        String password = ScannerUtil.getInput();

        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        //保存用户
        saveUser(user);
        return true;
    }
        //传参传入 商品id 商品购买数量
    public boolean addGoodsToCart(String id,int goodsCount){
        //1.就应该查一下goods信息
        //静态方法拿类名直接调

        //Goods goods = Goods.getGoodsById(id);
        //2.把商品加入购物车
        cart.addGoods(id,goodsCount);
        return true;
    }

    //获得所有的User
    private List<User> getUsers(String url)  {
        List<User> users = new ArrayList<>();

        //主动关闭流
        try(FileReader fs = new FileReader(url);BufferedReader bf = new BufferedReader(fs);) {
            String userStr = null;
            while ((userStr = bf.readLine()) != null) {
                //读一行封装一行
                String[] str = userStr.split("_");
                User user = new User();
                user.setUsername(str[0]);
                user.setPassword(str[1]);
                users.add(user);
            }
        }catch (IOException ex){
            ex.printStackTrace();
        }
        return users;
    }
    //获取一个user的方法
    public User getUsersByName(String name){
        getUsers(ShopConstent.USER_PATH);
        List<User> users = getUsers(ShopConstent.USER_PATH);
        for (User user : users){
            if(user.getUsername().equals(name)){
                return user;
            }
        }
        return  null;
    }

    public boolean saveUser(User user) {
        FileWriter fw = null;
        BufferedWriter bw =null;
        try{
            fw = new FileWriter(ShopConstent.USER_PATH,true);
            bw = new BufferedWriter(fw);
            bw.newLine();
            bw.append(user.getUsername()).append("_").append(user.getPassword());
        }catch (IOException ex){
            ex.printStackTrace();
        }finally {
            try {
                if(bw != null){
                    bw.close();
                }
                if(fw != null){
                    fw.close();
                }
            }catch (IOException ex){
                ex.printStackTrace();
            }


        }

        return true;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Cart getCart() {
        return cart;
    }

    public void setCart(Cart cart) {
        this.cart = cart;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", cart=" + cart +
                '}';
    }
}

import java.util.Scanner;

public class Shop {
    public static void main(String[] args) throws Exception {
        //面向对象
        Shop shop = new Shop();
        shop.loginView();

        Shop.shopView();
        System.out.println("开始购物");
        //使用静态对象
        //loginView();
    }

    private static void shopView() {
    }


    public void loginView(){
        boolean flag = true;
        while (flag){
            System.out.println("请选择功能:"+ShopConstent.USER_LOGIN+"登录 "+ShopConstent.USER_REGIST+"注册 3.");
            Scanner scanner = new Scanner(System.in);
            String function = scanner.next();
            User user = new User();

            switch (function){
                case ShopConstent.USER_LOGIN:
                    flag  = !user.login();
                    break;
                case ShopConstent.USER_REGIST:
                    user.regist();
            }
        }
    }
}

总结:关于方法中返回值的作用。如果在if中遇见返回值,第一个作用是跳出方法,只要if满足无论后边有什么代码,直接结束方法。第二个作用才是返回对应的值进行后续操作。
由于昨天已经在AATest里面封装好了增删改查对应的方法。所以今天直接拿来用就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的有限差分法实验报告用MATLAB中的有限差分法计算槽内电位;对比解析法和数值法的异同点;选取一点,绘制收敛曲线;总的三维电位图+使用说明文档 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值