Java用户账号密码创建登录

article/2025/9/11 11:32:49

完成这个题目需要创建两个class文件

 一个存放用户类一个测试类

用户类

package com.bili.demo2;
/*** 用户类* @author 21434**/
public class User {private String userName;private String userPassWord;private boolean state;public User() {super();}public User(String userName, String userPassWord) {super();this.userName = userName;this.userPassWord = userPassWord;this.state = state;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPassWord() {return userPassWord;}public void setUserPassWord(String userPassWord) {this.userPassWord = userPassWord;}public boolean isState() {return state;}public void setState(boolean state) {this.state = state;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((userName == null) ? 0 : userName.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;User other = (User) obj;if (userName == null) {if (other.userName != null)return false;} else if (!userName.equals(other.userName))return false;return true;}}

测试类

package com.bili.demo2;import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;/*** 	2、登录:输入用户名和密码后进行校验,通过才放行。并提示:欢迎xxx[管理员]登录(普通用户不显示管理员三个字)* @author 21434*	3、如果登录的是管理员,则显示如下菜单1、查看用户2、管理用户显示用户列表(按年龄从小到大排序)显示操作:1、添加;2、删除、3、修改如果选添加-->让用户输入相关内容并保存到数组中如果选删除-->输入序号删除对应的用户如果选修改-->输入序号提示用户输入要修改的信息,提交后并更新3、退出系统退出
4、如果是普通用户,则显示如下菜单1、查看用户2、修改个人信息3、退出系统*/
public class Demo2 {static Scanner sc = new Scanner(System.in);static HashSet<User> set = new HashSet<>();public static void main(String[] args) {while(true) {showMenu("****欢迎使用用户注册系统****","1.注册","2.登录","3.退出","请选择您的操作:");String i = sc.next();switch(i) {case "1":UserRegister();break;case "2":userLog();break;case "3":System.out.println("正在退出系统,请稍后》》》");System.out.println("功成退出");System.exit(0);break;default:System.out.println("暂时没有您选择的功能呢,请重新输入:");break;}}}/*** 显示菜单*/private static void showMenu(String...menus) {for(String menu :menus) {System.out.println(menu);}}/*** 注册*/private static void UserRegister() {System.out.println("*****欢迎新用户注册*****");boolean sr = false;System.out.println("请输入您要注册用户名:");String userName = sc.next();System.out.println("请输入您的密码:");String userPassWord = sc.next();//将用户名和密码存储到 变量中sr = set.add(new User(userName,userPassWord));// sr 的初始化赋值就是false ! 不等于的意思 负负得正  if(!sr)这个条件就是判断用户名是否相同if(!sr) {System.out.println("用户名已经被注册!!!请重新输入");}else {System.out.println("恭喜您,注册成功!!!");}operation();}/*** 登录*/private static void userLog() {System.out.println("*****欢迎登录本系统****");User user3 = new User();while(true) {System.out.println("请输入您的登录用户名:");String userNameLog = sc.next();System.out.println("请输入您的登录密码:");String userPassWordLog = sc.next();//在User类中 已经创建了一个有参的构造方法 new 对象的实质就是在调用他的构造方法User user = new User(userNameLog,userPassWordLog);//contains 如果此映射包含指定键的映射 就返回true 判断用户名是否存在boolean sr = set.contains(user);if(!sr) {System.out.println("用户名不存在,请重新输出");}else {//iterator 迭代器Iterator<User> iterator = set.iterator();while(iterator.hasNext()) {User user2 = iterator.next();//	判断输入的控制台与登录时的用户名与密码相等if(user2.getUserName().equals(userNameLog) && user2.getUserPassWord().equals(userPassWordLog)) {System.out.println("登录成功,欢迎"+userNameLog+"使用本系统");operation();}}System.out.println("登录失败,密码错误");}}}/*** 判断是否继续操作*/private static void operation() {System.out.println("是否继续操作? \t是:否");String bool = sc.next();if(bool.equals("是")) {//	继续操作就进入登录循环userLog();}else if(bool.equals("否")){System.out.println("正在退出请稍后》》》");System.out.println("成功退出");System.exit(0);}else{System.out.println("暂时还未开通此功能,请重新输入:");}}
}

效果图

 


http://chatgpt.dhexx.cn/article/cj6LqAwZ.shtml

相关文章

nacos踩坑,输入账号密码无法登录

问题描述&#xff1a;nacos启动&#xff0c;登录正确的账号密码(nacos/nacos)无法登录 解决思路&#xff1a; 这里使用的是jeecgboot项目 1.检查nacos配置(数据源) 2.排查是否是缓存原因(清楚idea缓存,Chrome缓存) 3.检查数据库 1.检查nacos配置数据库: 检查账号&#xff0c;密…

登录注册忘记密码页面

这是一个登录、注册页面&#xff0c;还包含了忘记密码&#xff0c;点击其中的链接&#xff0c;就会以动画的形式进行切换。背景图片可以任意更换&#xff0c;搭配出想要的风格。 演示 下载

04 | 后台登录:基于账号密码的登录方式(上)

你好&#xff0c; 我是程序猿零壹。 在上一篇文章如何快速部署一个基于laravel框架开发的网站中&#xff0c;我们一起使用laravel框架快速部署了一个网站。但是目前网站上只有一个默认的页面&#xff0c;显得有点孤单寂寞冷&#xff0c;是时候要开始给网站添砖加瓦了。 在php…

Java用户账号和密码登录

package javaProject; import java.util.Scanner; public class test { private String []userBox {"jinxueHou","123456"};//数据库存储的账号和密码,private修饰&#xff0c;只能在本类中使用 public static void main(String[] args) { // T…

FTP服务器保存账号密码自动登录后如何退出并切换用户名登录其他账号(windows 10)

我们知道ftp传输文件方便&#xff0c;并且还可以设置账号密码登录。ftp登录时有复选框用于选择记住密码&#xff0c;在勾选之后每次登录就可以直接进入自己的账号的ftp了。本文提供退出已登录此账号&#xff0c;切换到其他账号的方法。     其实并不难&#xff0c;只需要在已…

Vue如何实现不同登录方式的切换(账号密码登录、邮箱验证登录等)

文章目录 前言一、使用vue开发框架的时候&#xff0c;无论是vue2或是vue3&#xff0c;都会运用到element ui组件库或是element-plus ui组件库&#xff0c;所以我们要解决的问题首先从这些组件库里来找寻答案二、项目里按需引入或者全局导入element ui组件库或是element-plus ui…

python实现账号密码登录

用Python实现账号密码登录 准备 无需数据库 程序简介 运行这个程序&#xff0c;注册后哪怕重新运行&#xff0c;注册的账号依然存在&#xff0c;我们可以把账号密码分别保存到2个txt中&#xff0c;使用的时候再读取txt 为了安全起见&#xff0c;我们可以对账号密码进行加密…

验证账号、密码登录

在商贸系统登录的时候,不需要验证码的验证,只需要验证账户和密码正确就可以进行登录,所以我们就只需要对账号和密码进行判断。这里写的登录逻辑很简单。 只做到了:当用户输入了账号和密码正确就可以登录进去,并没有完善到其它功能所以逻辑是容易理解而且清晰。给登录按钮…

(Html)实现一个账号密码登录的弹窗界面(代码)

一、代码段 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>账号密码弹窗</title> </head><body><label>账号</label><br><input id"user"><br><label>…

QT 记住账号密码登录

弄了个简单的记住账号密码登录功能&#xff0c;适合初学者学习&#xff0c;直接上代码&#xff0c;代码有注释。 喂饭到嘴边了&#xff0c;看你会不会吃啦 开发环境是VS2015 1、由于没有写注册功能&#xff0c;所以账号和密码我提前写在一个ini文件&#xff0c;这个文件直接手…

31、Java——JDBC实现账号密码登录

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;乐趣国学的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java案例分…

基于Java的账号、密码登陆页面及验证

基于Java的登陆页面 需求功能 程序登录页面验证页面 后续 需求 我们在日常上网的过程中&#xff0c;常常会使用很多注册、登录我们的账号和密码的环节。这是网页开发中必不可少的一个环节。本文中将利用JavaTomcat完成一个简单的账号、密码登录的网页。 功能 首先&#xff0…

MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()或im2double()将数据类型转换为浮点型

MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()将数据类型为float 为什么&#xff1f; 看一个实例的运行结果就知道了~ f imread(F:\material\images\P0020-Line-detection-01.tif); w [2 -1 -1;-1 2 -1;-1 -1 2]; g_tofloat imfilter(tofloat(f),w); …

matlab图像处理函数

1.1 读取和保存图像(其中Iimread(‘’)) 1.1.1 imtool() imtool&#xff08;I&#xff09;在图形中显示灰度图像I&#xff0c;I为矩阵&#xff0c;元素范围为0-255. imtool&#xff08;I&#xff0c;[low&#xff0c;high]&#xff09;小于等于low的为黑色&#xff0c;大于等于…

【Matlab】im2double的用法

im2double函数用于将图像转换为双精度。 语法形式有4种&#xff0c;分别是&#xff1a; I2 im2double(I); RGB2 im2double(RGB); I im2double(BW); X2 im2double(X, indexed); 描述&#xff1a; I2 im2double(I)将灰度图像I转换为双精度&#xff0c;必要时可以…

MATLAB图像处理,double 与im2double的用处与区别【学习笔记】

double只是将像素的灰度值从int8换为double&#xff0c;数值大小不变&#xff0c;125还是125.0。 im2double则附带了归一化操作&#xff0c;125变成了125/2550.490196078 double也不是毫无用处&#xff0c;在将一个256级的灰度图修改为4级时候就用这个&#xff0c;用im2double反…

信息论 | 计算离散信源的信息量和熵的MATLAB实现(函数封装调用)

《信息论基础》 实验报告 姓名 XX 班级 XXXXXX 学号 2020XXXXXXXX 实验项目 计算离散信源的熵 日期 2022.10.21 实验环境 联想电脑MATLAB R2018a版 实验内容与完成情况&#xff08;记录实验内容、操作步骤、实验结果等&#xff0c;包括系统输出的错误信息&#xff0c…

信息量,信息熵,纯度

如果看不懂博文&#xff0c;请阅读《信息论基础》一看便懂。 链接&#xff1a;https://pan.baidu.com/s/1T7rS4owM2nU_DP6rthqUPA 提取码&#xff1a;zu9s &#xff08;1&#xff09;消息 消息是实体&#xff0c;信息是抽象的。可以从消息中获取信息。消息的表现形式可以是…

基于GIS技术的地质灾害易发性评价—信息量模型

1.将上述步骤的所有图层和历史滑坡点导入arcgis,并使用多值提取至点的步骤,提取滑坡点属性值 2.转换工具—表转excel,得到多值提取至点的表格 3.打开各图层属性表提取每一分级的栅格像元,并计算信息量值。

自信息量,熵及其性质

一般地&#xff0c;如果一个随机事件有种等可能的结果&#xff0c;那么对其编码恰需要n位二进制数&#xff0c;即n比特来储存消息。 因此&#xff0c;可以把对所有可能消息的最小二进制编码位数近似着作该随机事件的熵&#xff0c;记为H。 对于上面的例子分别有 定义2.3 …