admin管理员组

文章数量:1634835

题目要求:
新浪微博在用户注册时,要求用户名不得少于5个字符,密码不得少于6个字符,且两次输入的密码必须一致,注册邮箱有效。
请编程实现该功能,程序运行时输入注册的用户名、密码、确认密码和邮箱,如果输入信息符合要求,则提示注册成功,否则显示相应的错误提示信息(如用户名少于5个字符、输入的两次密码不一致等等)。
注:注册邮箱是否有效,可以通过发送激活邮件来完成,目前我们还做不到这一点,暂时先检查邮箱名是否正确。
简单的判断规则:(1)至少包含符号‘@’和‘.’,(2)‘@’在‘.’之前,(3)‘@’不是第一个字符,‘.’不是最后一个字符。

解题思路:利用正则表达式和循环实现,符合注册要求就跳出循环,不符合则一直循环输入,直到符合要求。
代码如下:

package JavaTest;
import java.util.*;
import java.util.regex.*;
public class StringTest_2 {
	static String user,password_1,password_2,mail;
	static boolean flag=true;
	static String regex_1="(.*)(\\@.+\\.)(.*)";//测试邮箱格式是否匹配的正则表达式
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner scanner=new Scanner(System.in);
		while(flag) {
			System.out.println("请输入你要注册的用户名:");
			user=scanner.nextLine();
			
		if(user.length()>=5) {
			System.out.println("你设置的用户名符合要求,请继续下一步!");
			break;
		}
		else {
			System.out.println("你设置的用户名不符合要求,请重新设置!");
			
		}
		}
		while(flag) {
			System.out.println("请输入你要注册的密码(第一遍)");
			password_1=scanner.nextLine();
			System.out.println("请输入你要注册的密码(第二遍)");
			password_2=scanner.nextLine();
			if(password_1.equals(password_2)) {
				//设置的密码长度要大于6
				if(password_1.length()>=6) {
					System.out.println("密码设置成功,请继续下一步.");
					break;
				}
				else {
					System.out.println("密码长度不够,请重新输入。");
					
				}
			}
			else {
				System.out.println("两边密码输入不一致,请重新输入!");
				
			}
			}
	
		
		while(flag) {
			System.out.println("请输入你要注册的邮箱:");
			mail=scanner.nextLine();
			Pattern r=Pattern.compile(regex_1);
			Matcher m=r.matcher(mail);
		if(m.find()) {
			System.out.println("邮箱格式正确,恭喜你,注册成功,快去开始新浪生活吧!");
			break;
		}
		else {
			System.out.println("邮箱格式有误,请重新输入!");
		
		}
	}
		
		
		}
		}
		


运行结果如下:

本文标签: 密码提示信息注册成功用户名邮箱