吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3775|回复: 6
收起左侧

[Java 转载] 【笔记】萌新的用户注册登录系统--version 2.0

[复制链接]
夜袭和尚庙 发表于 2019-1-5 22:58
本帖最后由 夜袭和尚庙 于 2019-1-5 23:04 编辑

非常感谢@你登哥很威武 的指导 之前又写了一遍 对压栈弹栈不了解 方法里面调方法 导致各种乱套。。。。就丢了一段时间静一静  趁着今天下午无聊  把我之前总结的一些经验 又一次的码了一遍 嘿嘿嘿 版本2.0  但是 还是有一个严重bug。。。。



bug:用户注册时输入的用户名相同  检测不出来
思路:本来是打算 用户注册的时候就遍历数组 equals判断是否已有该用户名  但是第一次注册 数组初始化后 除了第0索引有admin值以外 其他的都为null 就爆索引越界错误。。。 这个我没法修复。。。


其他的暂时还没找到bug,嘿嘿嘿
修复:用户选择功能界面输入字母 爆异常         解决方案:定义一个字符类型变量,1的ascll码为49 2为50 其他的都显示选择错误
总体来说是一个非常垃圾的程序了 ,毕竟我没学MySQL。。。嘿嘿嘿 大佬们见谅  有什么指教都砸过来 万分感谢 下面贴出代码
[Java] 纯文本查看 复制代码
import java.util.Scanner;
/*
 * 返回值参数列表:
 * 1:用户正常登录
 * 2:管理员正常登录
 * 3:用户注册成功
 * -1:用户密码输入错误
 * -2:用户注册管理员账户 注册失败
 * -3:数组内存已满 禁止注册
 */
public class Master {
	String[] user = new String[5];
	String[] pwd = new String[5];
	int tag = 1;		//用于检测用户注册了几个账号 方便下一次注册初始化 详细请看注册方法
	public static void main(String[] args) {
		Master m = new Master();
		m.user[0] = "admin";		//初始化管理员账户
		m.pwd[0] = "admin";			//初始化管理员密码
		int b = 0;	//用于登陆成功后判断是管理员还是用户
		while(true) {
			System.out.println("一个简陋的登录系统:");
			int a = m.print();
			if(a == 1) {
				//用户登录成功 b = 1 跳出循环
				b+=1;
				break;
			}else if(a == 2){
				//管理员登录成功 b = 2 跳出循环
				b+=2;
				break;
			}else if(a == -4) {
				System.out.println("输入错误!");
			}else if(a == -1) {
				//账号或密码错误! 继续循环
				System.out.println("错误:账号或密码输入错误!请重试!");
			}else if(a == 3) {
				//用户注册成功 继续循环
				System.out.println("注册成功!");
			}else if(a == -2) {
				//用户注册管理员账户  继续循环
				System.out.println("错误:禁止注册管理员账户!");
			}else if(a == -3) {
				System.out.println("错误:数组爆满啦!!别注册了 赶紧登陆吧!");
			}
		}
		//登陆成功后判断开始 
		if(b == 1) {
			m.User();
		}
		if(b == 2) {
			m.Admin();
		}
		
	}
	//用户选择功能界面
	 int print(){
		Scanner input = new Scanner(System.in);
		System.out.println("\t\t1:登录");
		System.out.println("\t\t2:注册");
		System.out.print("请输入数字选择功能:");
		char temp = input.next().charAt(0);
		if(temp == 49) {
			return login();
		}else if(temp == 50) {
			return CreateAccount();
		}else {
			return -4;
		}
		
	}
	
	 
	 /*登录方法
	 * 返回值参数列表:
	 * 1:用户正常登录
	 * 2:管理员正常登录
	 * -1:用户密码输入错误
	 */
	int login() {
		Scanner input = new Scanner(System.in);
		String username; 		//存放用户输入的用户名
		String password;		//存放用户输入的密码
		System.out.print("请输入用户名:");
		username = input.nextLine();
		System.out.print("请输入密码:");
		password = input.nextLine();
		//根据用户名判断是否为管理员 成功返回 2 否则返回-1
		if(username.equals("admin")) {
			if(password.equals("admin")) {
				return 2;
			}else {
				return -1;
			}
		}
		//非管理员 遍历数组 对应相同返回1 否则返回-1
		for(int i=1;i<user.length;i++) {
			if(username.equals(user[i])) {
				if(password.equals(pwd[i])) {
					return 1;
				}
			}
		}
		return -1;
	}
	
	/*注册方法
	 * 3:用户注册成功
	 * -2:用户注册管理员账户 注册失败
	 * -3:数组内存已满 禁止注册
	 */
	int CreateAccount() {
		Scanner input = new Scanner(System.in);
		String reguser;		//存放用户需要注册的用户名
		String regpwd;		//存放用户需要注册的密码
		System.out.print("请输入需要注册的用户名(字母+数字):");
		reguser = input.nextLine();
		System.out.print("请输入需要注册的密码:");
		regpwd = input.nextLine();
			//判断数组数据是否已经存满
		if(tag == user.length) {
			System.out.println("没有位置啦!别注册啦!");
				return -3;
		}else {
			if(reguser.equals("admin")) {
				return -2;
			}
			user[tag] = reguser;
			pwd[tag] = regpwd;
			//每注册一次 tag++
			tag+=1;
			return 3;
		}
		
	}
	
	
	
	//管理员后台界面 没能力写 用于演示
	void Admin() {
		System.out.println("欢迎您,管理员");
	}
	//用户软件界面 没能力写 用于演示
	void User() {
		System.out.println("欢迎您,XX用户");
	}
	
	
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
王大胖mi + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 夜袭和尚庙 发表于 2019-1-5 23:05
贴代码的时候又发现了个bug  已经修复了  请大佬们有什么指教 一定要说出来 我内心强大 嘿嘿嘿
王大胖mi 发表于 2019-1-6 16:58
还以为是用html  servlet service dao结构写的,  原来是SE阶段的东西写的
 楼主| 夜袭和尚庙 发表于 2019-1-6 19:05
王大胖mi 发表于 2019-1-6 16:58
还以为是用html  servlet service dao结构写的,  原来是SE阶段的东西写的

还没学到那个地步  只能用我学到的东西写了
万物皆空 发表于 2019-1-6 23:35
楼主很厉害,这是你自己写出来的吗?我照着敲了一遍,可以运行,但是有一个BUG:注册成功了,登录就变成账号或密码错误!
王大胖mi 发表于 2019-1-7 09:18
夜袭和尚庙 发表于 2019-1-6 19:05
还没学到那个地步  只能用我学到的东西写了

到时候学了数据库和web阶段能独立敲出来登录注册界面就说明学的到位了 ,  html的页面最好也自己过一遍百度bootstrap的框架自己复制粘贴稍微改一下, 除了登录注册还有分页展示  收藏等, 比较简单经典就是做个某某旅游网
 楼主| 夜袭和尚庙 发表于 2019-1-7 09:23
万物皆空 发表于 2019-1-6 23:35
楼主很厉害,这是你自己写出来的吗?我照着敲了一遍,可以运行,但是有一个BUG:注册成功了,登录就变成账 ...

没有的哟  这个bug应该是你返回值搞错了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 00:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表