服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java实现注册登录系统

java实现注册登录系统

2022-11-22 11:11Carl_蔡先生 Java教程

这篇文章主要为大家详细介绍了java实现注册登录系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现注册登录系统的具体代码,供大家参考,具体内容如下

1、创建菜单,注册,登录,退出

2、注册模块:

a) 通过键盘输入用户名,密码
b) 保存用户名密码到user.txt文件(包含用户名和密码)
c) 注册成功

3、登录模块

a) 通过键盘输入用户名和密码
b) 判断(超过三次提示过多错误,需要休眠30秒)
c) 登陆成功

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
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("输入异常!请重新输入");
            }
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_39052339/article/details/100015691

延伸 · 阅读

精彩推荐
  • Java教程Java实现表白小程序

    Java实现表白小程序

    本文讲述了Java实现表白的代码实例。具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧,具体如下:...

    单身不配吃饭9652021-04-26
  • Java教程java Comparator.comparing排序使用示例

    java Comparator.comparing排序使用示例

    本文主要介绍了java Comparator.comparing排序使用示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    雄狮虎豹5212022-02-23
  • Java教程详解Java中ArrayList类

    详解Java中ArrayList类

    这篇文章主要介绍了Java中ArrayList类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一...

    超人不会飞012172021-07-24
  • Java教程Java采用循环链表结构求解约瑟夫问题

    Java采用循环链表结构求解约瑟夫问题

    这篇文章主要介绍了Java采用循环链表结构求解约瑟夫问题的解决方法,是很多Java面试环节都会遇到的经典考题,这里详细给出了约瑟夫问题的原理及Java解决...

    shichen20145702019-12-06
  • Java教程java 用redisTemplate 的 Operations存取list集合操作

    java 用redisTemplate 的 Operations存取list集合操作

    这篇文章主要介绍了java 用redisTemplate 的 Operations存取list集合操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    黑旋风李鬼10562021-11-05
  • Java教程Java Swing组件BoxLayout布局用法示例

    Java Swing组件BoxLayout布局用法示例

    这篇文章主要介绍了Java Swing组件BoxLayout布局用法,结合实例形式分析了Swing使用BoxLayout容器进行布局的相关方法与操作技巧,需要的朋友可以参考下...

    pzy444711922021-02-05
  • Java教程Java concurrency之非公平锁_动力节点Java学院整理

    Java concurrency之非公平锁_动力节点Java学院整理

    本篇文章主要介绍了Java concurrency之非公平锁,详细的介绍了获取和释放非公平锁,有兴趣的同学可以了解一下...

    skywang123453052020-11-15
  • Java教程基于字符串常用API(详解)

    基于字符串常用API(详解)

    下面小编就为大家带来一篇基于字符串常用API(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Java教程网3782020-11-13