练习

/*
 * 设计用户类  包含 用户名和密码两个属性
 * 设计LoninDemo类 用于设计登陆方法 连续登录三次错误则退出登陆
 * 需要创建一个对象来存储注册号的账户和密码
 * */
package 登陆;

import java.util.Scanner;

class User
{
	String name;    //用户名
	String passWord;//密码
	User(String name,String passWord)
	{
		this.name = name;
		this.passWord = passWord;
	}
}
public class LoginDemo {
	User u ;//一个对象用来存放注册好的账户密码  全局变量(类变量)
	private static Scanner in;
	//不可以定义static因为内部有this  静态函数只能直接使用同类中的静态成员
	public void setUer(User p)
	{
		u = p;
	}
	//判断输入是否正确
	public boolean verify(String name,String passWord)//此函数无法定义为静态 因为u是非静态成员
	{
		if(u.name.equals(name)&&u.passWord.equals(passWord))
			return true;
		else
			return false;
		
	}
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		LoginDemo l = new LoginDemo();
		String userName;//用户名
		String word;//密码
		int i=0;
		System.out.println("********用户注册********");
		System.out.println("请输入用户名:");
		userName = in.next();
		System.out.println("请输入密码:");
		word = in.next();
		User p = new User(userName, word);
		//静态的main函数中调用同类中的非静态成员 也需要通过建立对象来调用  可直接使用同类中的静态成员
		l.setUer(p);  //为什么这里不可以用匿名对象
		System.out.println("注册成功");
		System.out.println("********用户登陆********");
		
		while(true)
		{	
			System.out.println("请输入用户名:");
			userName = in.next();
			System.out.println("请输入密码:");
			word = in.next();
			
			if(l.verify(userName,word))
				{
				System.out.println("登陆成功");
				break;
				}
			else
			{
				i++;
				if(i==3)
			{
				System.out.println("很遗憾,您已经没有机会了!");
				break;
			}
			else
			{
				System.out.println("您有3次登陆机会,您已经登陆失败"+i+"次。请重新输入");
				continue;
			}
		  }
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值