登录注册界面

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=trueif (!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;}}}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker操作基础命令

注意&#xff1a;以下命令在特权模式下进行会更有效&#xff01; 进入特权模式 sudo -ssudo su拉取镜像 sudo docker pull [镜像名] # sudo docker pull baiduxlab/sgx-rust:2004-1.1.3进入容器 端口开启服务&#xff1a; sudo docker start 3df9bf5dbd0c进入容器&#xf…

Open CASCADE学习|将圆转换为NURBS曲线

NURBS曲线&#xff0c;全称非均匀有理B样条曲线&#xff08;Non-Uniform Rational B-Splines&#xff09;&#xff0c;是计算机图形学中用于表示几何形状的数学表示方法。它结合了非均匀B样条&#xff08;B-Splines&#xff09;和有理基函数&#xff08;Rational Basis Functio…

R语言迅速计算多基因评分(PRS)

Polygenic Risk Scores in R 最朴素的理解PRS&#xff1a; GWAS分析结果中&#xff0c;有每个SNP的beta值、se值、P值&#xff0c;因为GWAS分析中将SNP变为0-1-2编码&#xff0c;所以这些显著的SNP的beta值&#xff0c;就可以用于预测。 比如&#xff1a;GWAS分析中&#xf…

SQL语言: 基本操作

DDL(数据定义) 库 创建数据库 CREATE DATABASE database_name; 删除数据库 DROP DATABASE database_name; 选择数据库 USE database_name; 表 创建表格 CREATE TABLE table_name( column1 datatype, column2 datatype, ... ); 删除表格 DROP TABLE table_name; 修改表格ALT…

linux内核网络中的互斥 “每日读书”

网络代码中广泛使用上锁&#xff0c;本书中每项主题下&#xff0c;可能都会发现上锁的议题&#xff0c;对众多程序设计类型而言&#xff0c;尤其是针对内核的程序设计&#xff0c;互斥&#xff0c;上锁机制以及同步都是一般性主题&#xff0c;而且相当有趣复杂&#xff0c;linu…

QT_day3:2024/3/22

作业1&#xff1a;设计界面 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin…

【Java基础知识总结 | 第六篇】Java反射知识总结

文章目录 6.Java反射知识总结6.1概述6.1.1什么是反射&#xff1f;6.1.2为什么使用反射&#xff1f; 6.2反射的原理6.3反射的使用6.3.1获取类对象&#xff08;1&#xff09;通过具体类的类名获取&#xff08;2&#xff09;通过对象实例获取&#xff08;3&#xff09;通过class.f…

CSS设置移动端页面底部安全距离

env(safe-area-inset-bottom)是一个CSS属性值&#xff0c;用于设置底部安全距离。它表示使用环境变量来获取底部安全距离的值。当使用环境变量时&#xff0c;需要使用env()函数来引用具体的环境变量。例如&#xff1a; <style> .box{padding-bottom: env(safe-area-inse…

使用uniapp 的 plus.sqlite 操作本地数据库报错:::table xxx has no column named xxxx

背景&#xff1a; 1、使用uniapp 的 plus.sqlite 进行APP本地数据库操作 2、SQLite 模块用于操作本地数据库文件&#xff0c;可实现数据库文件的创建&#xff0c;执行SQL语句等功能。 遇到&#xff1a;在之前创建的表上进行新增字段的操作时候&#xff0c;出现问题&#xff1a…

机器学习(一)

经典定义: 利用经验改善系统自身的性能。 经典的机器学习过程: 基本术语: 数据集:训练集、测试集 示例、样例、样本 属性、特征:属性值 属性空间、样本空间、输入空间 特征向量 标记空间、输出空间 归纳偏好(偏置): 任何一个有效的机器学习算法必有其偏好 学习算法的…

代码随想录算法训练营第33天|1005.K次取反后最大化的数组和|134. 加油站|135. 分发糖果

代码随想录算法训练营第33天|1005.K次取反后最大化的数组和|134. 加油站|135. 分发糖果 1005.K次取反后最大化的数组和 本题简单一些&#xff0c;估计大家不用想着贪心 &#xff0c;用自己直觉也会有思路。 https://programmercarl.com/1005.K%E6%AC%A1%E5%8F%96%E5%8F%8D%E5%…

Python中图片的切块与合并

Python中图片的切块与合并 有时候我们处理的图片过大而内存不足时&#xff0c;切块是一种不错的方法&#xff0c;化整为零&#xff0c;分治处理。切块图片其实没必要存储&#xff0c;不过代码中还是进行了保存。import os from PIL import Imagedef image_cut_and_merge(image…

Elastic-Job 分布式任务调度

一、使用场景 &#xff08;1&#xff09;分布式项目中 定时任务。如果只部署一台机器&#xff0c;可用性无法保证&#xff0c;如果定时任务机器宕机&#xff0c;无法故障转移&#xff0c;如果部署多台机器时&#xff0c;同一个任务会执行多次&#xff0c;任务重复执行也会出问…

力扣438. 找到字符串中所有字母异位词

Problem: 438. 找到字符串中所有字母异位词 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.编写辅助函数bool same(vector& need, vector& matched)&#xff1a; 1.1 以need为标准&#xff0c;循环对比need和matched的每一个位置的元素值是否相等 2.获…

C++ IDisposable 接口抽象类实现

每个C/C对象实例都应正确实现 IDisposable 接口&#xff0c;以确保对象实例能够正确释放持有的托管资源&#xff0c;而不仅仅只是依赖于 C RAII机制调用对象的析构函数。 这是因为并非所有的 C/C 对象&#xff0c;都通过析构函数来处理资源释放是正确的&#xff0c;例如&#x…

《苹果 iOS 应用开发与分发的关键问题解析》

一、背景 解决同事问的问题&#xff0c;来来回回被问好几次相同的问题&#xff0c;然后确认&#xff0c;我觉得不如写个文档 二、非研发人员安装iOS应用方式 TestFlightIPA 文件 对比 TestFlightIPA 文件安装方式TestFlight 是苹果提供的一个 beta 测试平台&#xff0c;开发者…

由浅到深认识Java语言(19):String类

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

RabbitMQ 安装保姆级教程

目录 1.MQ引言 1.1 什么是MQ 1.2 MQ有哪些 1.3 不同MQ特点 2.RabbitMQ 的引言 2.1 RabbitMQ 2.2 RabbitMQ 的安装 2.2.1 下载 2.2.2 下载的安装包 2.2.3 安装步骤 3. RabiitMQ 配置 3.1RabbitMQ 管理命令行 3.2 web管理界面介绍 3.2.1 overview概览 3.2.2 Admin用…

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

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

图像识别在安防领域的应用

图像识别技术在安防领域有着广泛的应用&#xff0c;它通过分析和理解图像中的视觉信息&#xff0c;为安防系统提供了强大的辅助功能。以下是一些主要的应用领域&#xff1a; 人脸识别&#xff1a;人脸识别技术是安防领域中最常见的应用之一。它可以帮助系统识别和验证个人身份…