模拟用户登录-课后程序(JAVA基础案例教程-黑马程序员编著-第五章-课后作业)

该案例展示了如何使用Java编程实现模拟用户登录功能。程序提供3次登录机会,通过Scanner类获取用户输入的用户名和密码,然后与预设的用户名和密码进行equals方法比较,登录成功或失败都会给出相应提示。若3次尝试均失败,则账户被锁定。
摘要由CSDN通过智能技术生成

【案例5-3】 模拟用户登录

【案例介绍】

1.任务描述

在使用一些APP时,通常都需要填写用户名和密码。用户名和密码输入都正确才会登录成功,否则会提示用户名或密码错误。

本例要求编写一个程序,模拟用户登录。程序要求如下:

  1. 用户名和密码正确,提示登录成功。
  2. 用户名或密码不正确,提示“用户名或密码错误”。
  3. 总共有3次登录机会,在3次内(包含三次)输入正确的用户名和密码后给出登录成功的相应提示。超过3次用户名或密码输入有误,则提示登录失败,无法再继续登录。。

在登录时,需要比较用户输入的用户名密码与已知的用户名密码是否相同,本案例可以使用Scanner类以及String类的相关方法实现比较操作。

2.运行结果

登录成功的运行结果如图5-3所示

图5-3 用户登录成功运行结果图

登录失败的运行结果如图5-4所示

图5-3 用户登录失败运行结果图

【案例思路】

(1) 分析任务描述可知,已知用户名密码,定义两个字符串表示即可。

(2) 键盘录入要登录的用户名密码。用Scanner实现。

(3) 拿键盘录入的用户名密码和已知的用户名密码进行比较,给出相应的提示,字符串内容比较用equles实现。    

(4) 循环实现多次机会。这里次数明确,用for循环实现。并在登录成功的时候。用break结束循环。

【案例实现】

    模拟用户登录的实现代码,如文件5-3所示。

文件5-3  example3.java

  1. package com.itheima;
  2. import java.util.Scanner;
  3. public class example {
  4.     public static void main(String[] args) {
  5.         //已知用户名密码,定义两个字符串表示即可。
  6.         String username = "itheima";
  7.         String password = "czbk";
  8.         for (int i = 0; i < 3; i++) {
  9.         // 键盘录入要登录的用户名密码。用Scanner实现
  10.         Scanner sc = new Scanner(System.in);
  11.         System.out.println("请输入用户名:");
  12.         String uname = sc.nextLine();
  13.         System.out.println("请输入用户密码:");
  14.         String pwd = sc.nextLine();
  15.         //拿键盘录入的用户名密码和已知的用户名密码进行比较,给出相应的提示,字符
  16.             串内容比较用equles实现。
  17.         if(uname.equals(username)&&pwd.equals(password)) {
  18.            System.out.println("登录成功!");
  19.             break;
  20.         }else {
  21.            if(2-i == 0) {
  22.                System.out.println("你的账户被锁定了,请联系管理员!!");
  23.            }else {
  24.            //2,1,0
  25.           System.out.println("登录失败,还有"+(2-i)+"次机会");
  26.         }
  27.         }
  28.         }
  29.     }
  30. }

在文件5-3中,第6行和第7行分别定义字符串表示已知的用户名与用户密码,第8行代码用for循环来控制用户名与密码输入错误的次数,第10~14行代码用Scanner类中的方法实现键盘录入用户名密码。第17~26行代码表示拿键盘输入的用户名与用户密码与已知的用户名与用户密码进行比较。其中比较字符串内容用equals()方法,如果内容相同,则用break跳出for循环。如果内容不相同,则提示登录失败以及还有几次机会。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaozhima-dun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值