黑马程序员技术交流社区
标题:
简单的登录注册功能实现
[打印本页]
作者:
lingyins
时间:
2015-11-13 17:11
标题:
简单的登录注册功能实现
简单的应用了集合,数组,多线程等知识来做了一个简易的登录注册功能
import java.util.ArrayList;
import java.util.Scanner;
public class 登录 {
public static ArrayList<String> UserName = new ArrayList<>(); // 定义集合存储对应账号密码
private static ArrayList<String> PassWord = new ArrayList<>();
public static ArrayList<Integer> Age = new ArrayList<>();
public static ArrayList<Integer> Sex = new ArrayList<>();
public static int[] 账户余额 =new int[1];
private static String[] UserType = new String[3]; // 用户类型
public static Scanner sc = new Scanner(System.in); // 需要多次调用键盘输出
static String choose = null;
static int memberType =0 ;
static { // 定义默认管理员账号和用户类型
账户余额[0] =100;
UserName.add("admin");
PassWord.add("admin");
Age.add(null);
Sex.add(null);
UserType[0] = "管理员";
UserType[1] = "VIP";
UserType[2] = "普通用户";
}
public static boolean index() throws InterruptedException {
while (true) { // 登录注册页面
System.out.println("---------------------------------");
System.out.println(" 请选择:/1登录 /2注册");
choose = sc.next();
if ("1".equals(choose)) {
boolean b = login(); // 调用登录方法
return b;
} else if ("2".equals(choose)) {
register(); // 调用注册方法
} else {
System.err.println("您的选择有误,请重新输入");
continue;
}
}
}
public static boolean login() throws InterruptedException {
System.out.println("请输入您的用户名 ");
String username = sc.next(); // 键盘录入
System.err.println("请输入您的密码");
String password = sc.next();
for (int i = 0; i < UserName.size(); i++) { // 用集合的长度来判断循环次数
if (UserName.get(i).equals(username)) { // 因为集合默认为空,所以在注册之后他们的集合账号密码索引默认是一样的,所以我们判断是用一个集合中同一个索引来判断是否与集合中所存储内容的相符
if (PassWord.get(i).equals(password)) {
memberType = i;
new Thread() {
public void run() {
for (int j = 0; j < 25; j++) {
try {
sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.print(".");
}
}
}.start();
new Thread() {
public void run() {
synchronized (this) {
try {
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println();
}
}
}.start();
Thread.sleep(3000);
System.out.println("登录成功");
return true;
}
}
}
System.out.println("您的账号密码有误,请您重新输入");
System.out.println("---------------------------------");
return false;
}
public static boolean register() {
while (true) {
System.out.println("请输入用户名");
String username = sc.next();
for (int i = 0; i < UserName.size(); i++) {// 本循环用于判断本用户名是否已在数组中存在
if (username.equals(UserName.get(i))) {
System.out.println("您注册的用户名已存在");
return false;
}
}
System.out.println("请输入密码");
String password = sc.next();
System.out.println("请再次输入您的密码");
String typepassword = sc.next();
if (password.equals(typepassword)) {
System.out.println("年龄:");
Age.add(sc.nextInt());
System.out.println("性别: /1.男 /2.女");
while(true){
int f = sc.nextInt();
if (f == 1) {
Sex.add(1);
break;
}else if (f== 2) {
Sex.add(2);
break;
}else {
System.out.println("您的性别选择有误");
}
}
UserName.add(username);// 将注册成功的数据分别写入用户集合和密码集合中
PassWord.add(typepassword);
System.out.println("恭喜您注册成功,欢迎您成为黑马程序员的一员,请继续填写您的个人信息");
return true;
} else {
System.out.println("您的第二次密码与第一次不同,请您重新注册");
System.out.println("---------------------------------");
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2