实现注册、登录、查询功能
注册时,不允许同一用户名重复注册
上代码!
package base001;
import java.util.Random;
import java.util.Scanner;
/*
登录注册
实现注册登录查询功能
注册时,不允许重复用户名出现
程序健壮
*/
public class Test01 {
//存储用户名和密码的数组
static String[] arr1 = new String[3];
static String[] arr2 = new String[3];
//接受数据(键盘数据)
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//保存测试的数据
arr1[0] = "夏习清";
arr2[0] = "123";
while(true){
System.out.println("~~~~~~~~~~~~小玫瑰系统~~~~~~~~~~~~");
System.out.println("1.查看功能");
System.out.println("2.登录功能");
System.out.println("3.注册功能");
System.out.println("4.退出功能");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
int id = sc.nextInt();
switch(id){
case 1:
show();
break;
case 2:
login();
break;
case 3:
regist();
break;
case 4:
System.out.println("感谢您的使用!");
//直接退出整个程序
System.exit(0);//0的意思是:让虚拟机以正常的方式退出
default:
System.out.println("您输入的数据有误!");
}
}
}
//注册功能
private static void regist() {
//提示输入用户信息信息
String username = null;
while (true) {
System.out.println("请输入用户名:");
username = sc.next();
// 判断用户名数否存在
boolean flag = false;
for(int i = 0;i < arr1.length;i++){
if(arr1[i] !=null){
if(arr1[i].equals(username)){
flag = true;
break;
}
}
}
if(flag == true){
System.out.println("用户名已存在,请重新输入!");
}else{
break;
}
}
System.out.println("请输入密码:");
String password = sc.next();
//判断数组是否装满
boolean flag = false;
for (int i = 0;i < arr1.length;i++){
if(arr1[i] ==null){
flag = true;
break;
}
}
//保存信息
if(flag == false){
//装满了,对数组进行扩容
String[] newArr1 = new String[arr1.length+3];
String[] newArr2 = new String[arr2.length+3];
//将原数组的数据全部复制到新数组中
System.arraycopy(arr1,0,newArr1,0,arr1.length);
System.arraycopy(arr2,0,newArr2,0,arr2.length);
arr1 = newArr1;
arr2 = newArr2;
//将用户名和密码保存
for(int i = 0;i<arr1.length;i++){
if(arr1[i]==null){
arr1[i] = username;
arr2[i] = password;
break;
}
}
}else{
//没有装满
for(int i =0;i < arr1.length;i++){
if(arr1[i] == null){
arr1[i] = username;
arr2[i] = password;
break;
}
}
}
System.out.println("注册成功!");
}
//登录功能
private static void login() {
System.out.println("请输入用户名:");
String username = sc.next();
System.out.println("请输入密码:");
String password = sc.next();
//判断用户名和密码是否存在
for(int i = 0;i<arr1.length;i++){
if(arr1[i] != null){
if(arr1[i].equals(username)&&arr2[i].equals(password)){
System.out.println("登陆成功!欢迎使用~~~");
return;
}
}
}
System.out.println("登陆失败!请检查用户名或密码是否正确。");
}
//查看功能
private static void show() {
//遍历数组,输出现有数据
for(int i =0;i<arr1.length;i++){
if(arr1[i] != null){
System.out.println("用户名:"+arr1[i]+"密码:"+arr2[i]);
}
}
}
}