java常用基础代码

以ATM为例:实现一个功能,用户输入的密码和账号正确才能登录,进入操作界面(只有3次机会),然后根据用户的输入实现对应的功能,输入其他的就提示 输入错误,请重新输入。

run方法里面需要判断login方法是true还是false;


public void run(){
System.out.println("欢迎使用ATM!");
Scanner scanner = new Scanner(System.in);

//判断登录
boolean flag = login();//login 的返回类型也要是布尔类型

		if (flag) {
			/* 以下的while循环,目的是:让用户可以多次操作主菜单 */
			while (true) {
				// 显示主菜单  这里写只有是true 就执行的方法;
				showMenu();
				int in = valInputIsCorrect(scanner);
				
				// 根据用户的输入,执行对应的功能
				switch (in) {
				case 1:// 查询余额
					checkMoney();
					break;
				case 2:// 转账
					System.out.println("功能未开放,请到柜台办理相关业务!");
					break;
				case 3:// 取钱
					getMoney();
					break;
				case 4:// 存钱
					saveMoney();
					break;
				case 5:// 退卡
					System.out.println("欢迎下次再来!");
					return;
				}
			}
}
}

login方法 里面包含validateAccount 方法,需要他返回一个boolean类型,返回的是true 或者 false,返回是true 的时候执行一段代码,是false又执行的另外的代码或者结束。

/**
	 * @功能 实现用户的登录认证
	 * @return
	 */
	private boolean login() {
		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		for (int i = 1; i <= 3; i++) {
			// 通过用户的输入,得到用户的账号
			System.out.println("请输入账号:");
			String account = scanner.next();
			// 通过用户的输入,得到用户的密码
			System.out.println("请输入密码:");
			String password = scanner.next();

			boolean flag = validateAccount(account, password);
			if (flag) {
				return true;
			}

			if (i == 3) {
				break;
			}
			System.out.println("账号密码有误,你还有" + (3 - i) + "机会!");

		}
		return false;
	}

valInputIsCorrect 方法 登录进去之后需要对用户的输入进行判断,如果正常输入会进行声明操作,如果输入错误,又需要弹出什么内容。
这里的输入类型为int ,需要把用户的输入作为参数传入,并对其判断,如果输入错误,请用户进行重新输入。

/**
	 * @功能 该循环用于验证用户的输入选项是否正确
	 * @param scanner
	 * @return
	 */
	private int valInputIsCorrect(Scanner scanner) {
		// TODO Auto-generated method stub
		int in = 0;
		while (true) {
			// 获取用户的输入
			in = scanner.nextInt();
			if (in > 0 && in <= 5) {
				break;
			} else {
				System.out.println("输入有误,请重新输入:");
			}
		}
		return in;
}

validateAccount(有效账户) 方法, 在login里面,用与验证登录的用户是否有效。这个方法返回的类型是true 或者false,

private boolean validateAccount(String account, String password) {
for (User user : users) {
		if (account.equals(user.account) && password.equals(user.password)) {
			this.user = user;
			return true;
		}
	}

	return false;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值