登录注册界面

T1、编程设计理工超市功能菜单并完成注册和登录功能的实现。      

显示完菜单后,提示用户输入菜单项序号。当用户输入<注册>和<登录>菜单序号时模拟完成注册和登录功能,最后提示注册/登录成功并显示注册信息/欢迎XXX登录。当用户输入其他菜单项序号时,这输出“该功能暂未实现,请期待...”。要求利用无限循环让用户可以不断选择功能菜单,只有当用户输入<退出>菜单序号时才退出循环结束程序。

package com.cx.encap;
import java.util.Scanner;
public class Login {
    public static void main(String[] args) {
        //创建Scanner对象,用于输入
        Scanner input = new Scanner(System.in);
        String userName = "";//用户名
        String pwd = "";//密码
        boolean isRegister = false;//是否注册,false表示未注册

        while (true) {
            System.out.println("===================欢迎来到理工超市管理系统===================");
            System.out.println("1.用户注册    2.用户登录    3.浏览商品   4.查看商品详情");
            System.out.println("5.加入购物车  6.查看购物车  7.结算       8.退出");
            System.out.println("==============================================================");

            System.out.print("请输入菜单项序号:");
            int choice = input.nextInt();

            switch (choice) {
                case 1:  //注册
                    //用户注册提示信息
                    System.out.println("用户注册");
                    //输入用户名
                    System.out.print("请输入用户名:");
                    userName = input.next();
                    //输入密码
                    System.out.print("请输入密码:");
                    pwd = input.next();
                    //再次输入密码
                    System.out.print("请再次输入密码:");
                    String cfmPwd = input.next();
                    //判断两次输入的密码是否一致,如不一致需重新输入
                    while (!cfmPwd.equals(pwd)) {
                        //提示信息:两次输入的密码不一致
                        System.out.println("两次密码输入不同,请重新输入:");
                        //重新输入密码
                        System.out.print("请输入密码:");
                        pwd = input.next();
                        System.out.print("请再次输入密码:");
                        cfmPwd = input.next();
                    }
                    //checkNumber为验证码  一个随机四位数
                    //0=<Math.random()<1  double类型
                    //0=<Math.random()*9000<9000  double类型
                    //0=<(int)(Math.random()*9000)=<8999  int类型
                    //1000=<(int)(Math.random()*9000)+1000=<9999  int类型
                    int checkNumber = (int) (Math.random() * 9000) + 1000;
                    //提示信息:请输入验证码
                    System.out.println("请输入验证码:" + checkNumber);
                    //输入验证码
                    int checkedNum = input.nextInt();
                    //判断验证码是否正确
                    //若验证码错误,需重新输入验证码
                    while (checkNumber != checkedNum) {
                        //提示信息:验证码输入错误,请重新输入验证码
                        System.out.println("验证码输入错误,请重新输入验证码");
                        //提示信息:请输入验证码
                        checkNumber = (int) (Math.random() * 9000) + 1000;
                        System.out.println("请输入验证码:" + checkNumber);
                        //输入验证码
                        checkedNum = input.nextInt();
                    }
                    System.out.println("注册成功!");
                    isRegister = true;
                    continue;
                case 2:  //登录
                    System.out.println("用户登录");
                    //判断是否注册,如果未注册,请先注册再登录
                    //未注册时,isRegister=false
                    //!isRegister=true
                    if (!isRegister) {
                        System.out.println("请先注册再登录");
                    }
                    //isRegister=true时,表示已经注册
                    //三次验证登录
                    for (int i = 0; i < 3; i++) {
                        //提示信息:请输入登录的用户名
                        System.out.print("请输入登录的用户名:");
                        String uName = input.next();
                        //提示信息:请输入登录的密码
                        System.out.print("请输入登录的密码:");
                        String uPwd = input.next();
                        //判断用户名和密码是否正确
                        if (uName.equals(userName) && uPwd.equals(pwd)) {
                            System.out.println("登录成功!欢迎" + userName + "登录!");
                            break;//登录成功,则跳出for循环
                        } else {
                            if (i < 2) {
                                System.out.println("用户名或者密码错误,您还有" +
                                        (2 - i) + "次机会,请重新输入");
                            } else {
                                System.out.println("三次均输入错误用户名或密码");
                            }
                        }
                    }
                    continue;
                case 3:
                case 4:
                case 5:
                case 6:
                case 7:
                    System.out.println("该功能暂未实现,请期待...");
                    continue;
                case 8:  //退出
                    System.out.println("退出");
                    System.exit(0);//退出程序
                default:
                    System.out.println("输入错误,请重新输入...");
                    continue;
            }
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/487448.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【随笔】Git -- 基本概念和使用方式(五)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

相机标定 手眼标定 网页版

欢迎使用&#xff0c;请移步ipv6 site (jah10527.github.io)

下载网页上的在线视频 网络视频 视频插件下载

只需要在浏览器上安装一个插件&#xff0c;就可以下载大部分的视频文件&#xff0c;几秒到一两个小时的视频&#xff0c;基本都不是问题。详细解决如下&#xff1a; 0、因为工作需要&#xff0c;需要获取某网站上的宣传视频&#xff0c;我像往常一样&#xff0c;查看视频的url…

C语言回顾笔记

1.变量 2.运算符 3.if判断 4.接力break 5.最大公约数 6.水仙花数 #include<stdio.h> int main(){int n;scanf("%d",&n);//根据输入的位数计算&#xff0c;如最小三位数100 int first 1;int i 1;while(i<n){first *10;i; }printf("first%d\n"…

数据分析POWER BI之power query

1.导入数据 ctrla全选--数据--获取数据--其他来源--来自表格/区域 导入数据&#xff0c;进入编辑模式 2.整理与清除 清除&#xff1a;删除所选列的非打印字符 转换--格式--清除 修整&#xff1a;删除前面和后面的空格 转换---格式---修整&#xff08;修整后前面后面的空格没有了…

代码随想录算法训练营第三十四天|1005. K次取反后最大化的数组和,135,分发糖果

1005. K 次取反后最大化的数组和 题目 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数…

选项式API和组合式API的区别

选项式(options) API 和组合式(composition) API两种不同的风格书写&#xff0c;Vue3 的组件可以使用这两种api来编写。 选项式API和组合式API的区别 选项式API 选项式 API&#xff0c;具有相同功能的放在一起&#xff0c;可以用包含多个选项的对象来描述组件的逻辑&…

500元以内的运动耳机推荐有哪些?五大倍受欢迎的机型总汇

作为一个运动爱好者&#xff0c;我始终认为一款优秀的运动耳机不仅能够带来音乐的享受&#xff0c;更能为运动增添动力&#xff0c;但市面上的运动耳机种类繁多&#xff0c;价格不一&#xff0c;如何选择一款性价比高、功能实用的运动耳机成为了许多消费者的难题&#xff0c;今…

发布文章积分自动增加

controller ApiOperation(value "添加文章")PostMapping("/addwengzhang")public String addwengzhang(RequestBody WengDto wengDto) {if (wengDto.getContent() null || wengDto.getTitle() null) {return "参数不可为空";}User user user…

汽车ABS的bangbang控制和模糊PID控制

1、内容简介 略 82-可以交流、咨询、答疑 2、内容说明 摘要&#xff1a;本文旨在设计一种利用模糊控制理论优化的pid控制器&#xff0c;控制abs系统&#xff0c;达到对滑移率最佳控制范围的要求 &#xff0c;所提出的方案采用级联控制架构&#xff1a;设计用于外环中的车轮打…

[Java、Android面试]_12_java访问修饰符、抽象类和接口

文章目录 1. java访问修饰符2. 抽象类和接口2.1 抽象类2.2 接口2.3 抽象类和接口的区别 本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&…

(一)基于IDEA的JAVA基础8

使用多重if选择结构 多个if条件进行判断: 语法: if(条件1){ 执行语句1&#xff1b; }else if(条件2){ 执行语句2&#xff1b; }else if(条件3){ 执行语句3&#xff1b; }else if (条件4)…… 流程图: 我们来写个好玩的&#xff0c;对暗号: public class Test01 { …

【浅尝C++】类和对象第二弹=>类的6个默认成员函数/运算符重载详谈

&#x1f3e0;专栏介绍&#xff1a;浅尝C专栏是用于记录C语法基础、STL及内存剖析等。 &#x1f6a9;一些备注&#xff1a;之前的文章有点杂乱&#xff0c;这里将前面的知识点重新组织了&#xff0c;避免了过多冗余的废话。 &#x1f3af;每日努力一点点&#xff0c;技术变化看…

电阻器标记方法全解析:如何正确标注电阻器的阻值?

电阻器是一种用来限制电流流动的电子元件。它的主要作用是产生电阻&#xff0c;以控制电流的大小&#xff0c;从而保护其他电子元件不受过大的电流损害。电阻器通常由导电材料制成&#xff0c;电流在流过电阻器时会遇到阻力而产生电压降&#xff0c;使得电流被限制在一个较低的…

水牛社五大赚钱栏目概览:轻松了解项目核心与赚钱原理

很多新用户首次访问水牛社官网时&#xff0c;可能会感到有些迷茫。由于软件介绍相对较长&#xff0c;部分朋友可能缺乏耐心细读。然而&#xff0c;若您真心希望在网络上找到赚钱的机会&#xff0c;深入了解我们的发展历程将大有裨益。简而言之&#xff0c;本文旨在快速带您领略…

C++ assert()函数用法案例详解

参考:https://www.jb51.net/article/222176.htm assert宏的原型定义在<assert.h>中&#xff0c;其作用是如果它的条件返回错误&#xff0c;则终止程序执行。 原型定义&#xff1a; #include <assert.h> void assert( int expression );assert的作用是先计算表达…

【开发环境搭建篇】Redis服务器端安装和配置

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

kubernetes最小调度单元Pod概述

Pod概述 一.Pod的概念1.Pod是什么2.Pod网络共享实现方式3.Pod存储共享方式4.创建Pod的流程 二.使用YAML文件定义Pod资源1.Pod资源清单YAML文件书写技巧1.YAML语法格式&#xff1a;2.配置Linux tab缩进两个空格3.使用kubectl explain帮助命令 2.创建Pod及Pod常用命令1.创建Pod资…

(免费领源码)Java#SSM#MYSQL学生信息管理系统的设计与实现70168-计算机毕业设计项目选题推荐

摘 要 从20年代开始&#xff0c;计算机疯狂的出现在人们的生活以及工作当中&#xff0c;成为人们生活、工作的好帮手&#xff0c;计算机深入到每家每户当中&#xff0c;网络办公&#xff0c;网络教学更是替换了传统手工记录管理的方式&#xff0c;使用计算机办公可以不必局限于…

Map中的computeIfAbsent()方法

调用java集合Map.computeIfAbsent()方法 java版本JDK1.8中&#xff0c;Map是我们经常使用的&#xff0c;在面对复杂Map时&#xff0c;我们怎么更好的去维护呢&#xff1f; 比如&#xff0c;这里的复杂Map&#xff0c;即<K,V>中V是一个Collection集合&#xff1a; 我们先…