java如何实现注册登录系统
作者:BrightSoul
时间:2024-04-02
来源:互联网
浏览:0
1、创建菜单,注册,登录,退出2、注册模块:a)通过键盘输入用户名,密码b)保存用户名密码到user.txt文件(包含用户名和密码)c)注册成功3、登录模块a)通过键盘输入用户名和密码b)判断(超过三次提示过多错误,需要休眠30秒)c)登陆成功importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.Properties;
1、创建菜单,注册,登录,退出
2、注册模块:
a) 通过键盘输入用户名,密码
b) 保存用户名密码到user.txt文件(包含用户名和密码)
c) 注册成功
3、登录模块
a) 通过键盘输入用户名和密码
b) 判断(超过三次提示过多错误,需要休眠30秒)
c) 登陆成功
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.Scanner;
class TestRegex{
public boolean isUser(String user) {
String regex="[1-9][0-9]{4,9}";
boolean b=user.matches(regex);
return b;
}
public boolean isMiMa(String mm) {
String regex="\\w+(\\.*\\w)";
boolean b=mm.matches(regex);
return b;
}
}
public class MySQLregisterTest{
//1. 注册登录系统
//1. 创建菜单,注册,登录,退出
public static void MySQLmenu() {
System.out.println("***************************");
System.out.println("*****MySQL注册登录系统*****");
System.out.println("**1.注册");
System.out.println("**2.登录");
System.out.println("**3.退出");
}
//2. 注册模块:
//a) 通过键盘输入用户名,密码
//b) 保存用户名密码到user.txt文件(包含用户名和密码)
//c) 注册成功
public static void MySQLregister() throws IOException {
TestRegex tr=new TestRegex();
File f=new File("user.txt");
Scanner sc=new Scanner(System.in);
System.out.println("欢迎来到注册界面!");
System.out.println("请输入用户名!");
String s=sc.next();
boolean bu=tr.isUser(s);
FileInputStream fis=new FileInputStream("user.txt");
Properties pro=new Properties();
pro.load(fis);
String user=pro.getProperty("user");
String pass=pro.getProperty("pass");
if(bu==false&&user.equals(s)) {
System.out.println("账号注册失败");
}else {
FileOutputStream fos=new FileOutputStream(f,true);
byte[] bye=new byte[512];
int len=0;
fos.write(("user="+s+"\r\n").getBytes());
fos.flush();
fos.close();
fis.close();
System.out.println("注册成功");
}
System.out.println("请输入密码!");
String st=sc.next();
boolean bm=tr.isMiMa(st);
if(bm==false&&pass.equals(st)) {
System.out.println("密码注册失败");
}else {
FileOutputStream fos=new FileOutputStream(f,true);
byte[] bye=new byte[512];
int len=0;
fos.write(("pass="+st+"\r\n").getBytes());
fos.flush();
fos.close();
fis.close();
System.out.println("账号注册成功");
}
}
//3. 登录模块
//a) 通过键盘输入用户名和密码
public static boolean Login() throws IOException{
boolean flag=false;
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String s=sc.next();
FileInputStream fis=new FileInputStream("user.txt");
Properties pro=new Properties();
pro.load(fis);
String user=pro.getProperty("user");
String pass=pro.getProperty("pass");
if(s.equals(user)) {
System.out.println("请输入密码:");
}
String ms=sc.next();
if(ms.equals(pass)) {
System.out.println("登录成功");
flag=true;
}
return flag;
}
//b) 判断(超过三次提示过多错误,需要休眠30秒)
//c) 登陆成功
public static void Oder() {
int n = 1;
abc: while (n <4) {
try {
boolean flag = Login();
if (flag == false) {
n++;
} else {
System.out.println("账号或密码错误,请确认账号密码");
n = 4;
break abc;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) throws IOException, Exception {
boolean flag=true;
while(flag) {
MySQLmenu();
Scanner sc=new Scanner(System.in);
System.out.println("请输入选择项:");
int n=sc.nextInt();
switch(n) {
case 1:
MySQLregister();
break;
case 2:
Oder();
System.out.println("输入次数达到上限,休眠30秒");
Thread.sleep(30000);
break;
case 3:
System.out.println("已退出系统");
flag=false;
break;
default:
System.out.println("输入异常!请重新输入");
}
}
}
}
作者最新文章
索尼 Xperia 1 VIII / VII / VI 等手机获 Android 17 更新,新增桌面模式等功能
2026-09-08 16:44
加拿大留学监护声明书(IMM 5646)双页签署与公证核对指南
2026-09-03 15:02
在线PDF转图片教程:一键生成高清图片包
2026-09-03 12:04
Creo零基础入门:新建零件与第一次拉伸建模完整指南
2026-09-03 06:02
扫描件PDF转Word的在线操作步骤与编辑可行性判断
2026-09-02 18:39
上一篇:
快手怎么设置关注请求提醒
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















