java scanner 密码_java之登录实例(面向对象,静态,scanner等)

分析:抽取用户类,提取出用户的属性,方法

用户类测试:判断登陆,注册等

User : 用户类

package cn.my.login;

import java.util.Scanner;

/**

*  分析:用户的基本信息

*  用户名,密码,邮箱,电话,地址

*  登录,注册方法

*

*/

public class User {

private String username;

private String password;

private String email;

private String phone;

private String address;

public User(String username, String password, String email, String phone,

String address) {

super();

this.username = username;

this.password = password;

this.email = email;

this.phone = phone;

this.address = address;

}

public User() {

super();

// TODO Auto-generated constructor stub

}

@Override

public String toString() {

return "User [username=" + username + ", password=" + password

+ ", email=" + email + ", phone=" + phone + ", address="

+ address + "]";

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getPhone() {

return phone;

}

public void setPhone(String phone) {

this.phone = phone;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public static boolean login()

{

Scanner sc=new Scanner(System.in);

System.out.println("请输入用户名");

String userName=sc.nextLine();

System.out.println("请输入密码");

String password=sc.nextLine();

//静态类可以直接调用静态方法和属性和对象引用

for (int i = 0; i < UserTest.users.length; i++) {

if (UserTest.users[i]==null) {

continue;

}

if(UserTest.users[i].getUsername().equals(userName)&&UserTest.users[i].getPassword().equals(password)){

return true;

}

}

return false;

}

public static void regist(){

Scanner sc=new Scanner(System.in);

User user=new User();

System.out.println("请输入用户名");

user.setUsername(sc.nextLine());

System.out.println("请输入密码");

user.setPassword(sc.nextLine());

System.out.println("请输入邮箱");

user.setEmail(sc.nextLine());

System.out.println("请输入电话");

user.setPassword(sc.nextLine());

System.out.println("请输入地址");

user.setAddress(sc.nextLine());

//将用户添加到数组中

UserTest.users[UserTest.index++]=user;

}

}

UserTest测试类:

package cn.my.login;

import java.util.Scanner;

public class UserTest {

/**

*对登录用户的测试

*

*1 先提示不同选项

*2 不同的选项对应的不同操作,

* 不同的判断,去调用不同的方法

*

*/

static int index=0;

static User[] users =new User[20];

public static void main(String[] args) {

//User user=new User();

printMenu();

while(true){

Scanner sc=new Scanner(System.in);

String str=sc.nextLine();

switch (str) {

case "1":

for (int i = 0; i <3; i++) {

if(User.login()){

System.out.println("登录成功");

System.exit(0);

}else {

System.out.println("用户名或者密码错误");

}

}

System.exit(0);

case "2":

User.regist();

System.out.println("恭喜你注册成功");

printMenu();

break;

case "3":

System.out.println("退出成功,欢迎下次再来");

System.exit(0);

case "4":

printMenu();

break;

default:

System.out.println("输入错误,请重新输入");

break;

}

}

}

public static void printMenu(){

System.out.println("**登录请输入1***注册请输入2***");

System.out.println("**退出请输入3***重新选择请输入4***");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值