黑马程序员技术交流社区

标题: 一个小程序 [打印本页]

作者: 志ぁ才☆博ぁ成    时间: 2015-1-19 22:53
标题: 一个小程序
今天学的登录访问代码,和前天学的猜数字小游戏结合在一起,但是有点不足,后来想到for循环中的break的标记法,问题马上解决了。
  1. import java.util.Random;
  2. import java.util.Scanner;

  3. public class LoginTest {
  4.         public static void main(String[] args) {
  5.                 //创建对象
  6.                 User user = new User();
  7.                 user.setUserName("maxilong");
  8.                 user.setUserPassword("12345");
  9.                
  10.                 w: for (int x = 0; x < 3; x++) {
  11.                         //获取键盘录入
  12.                         Scanner sc = new Scanner(System.in);
  13.                         System.out.println("请输入用户名:");
  14.                         String name = sc.nextLine();
  15.                         System.out.println("请输入密码:");
  16.                         String pwd = sc.nextLine();
  17.                         //判断用户名和密码是否正确
  18.                         if (user.isLogin(name, pwd)) {
  19.                                 System.out.println("恭喜您登陆成功!");
  20.                                 int i = 100;
  21.                                 //创建Random类并调用对象
  22.                                 Random r = new Random();
  23.                                 int y = r.nextInt(i);

  24.                                 while (true) {
  25.                                         Scanner sc1 = new Scanner(System.in);
  26.                                         System.out.println("请您输入一个数(1-100)——猜数字游戏开始:");
  27.                                         int num = sc1.nextInt();
  28.                                         if (num > y) {
  29.                                                 System.out.println("您猜的数" + num + "大了,再猜猜看!");
  30.                                         } else if (num < y) {
  31.                                                 System.out.println("您猜的数" + num + "小了,再猜猜看!");
  32.                                         } else {
  33.                                                 System.out.println("恭喜您,猜对了,大神...");
  34.                                                 //跳出标记的循环
  35.                                                 break w;
  36.                                         }
  37.                                 }
  38.                         } else {
  39.                                 if ((2 - x) == 0) {
  40.                                         System.out.println("用户已被锁定,请与管理员联系!");
  41.                                         break;
  42.                                 }
  43.                                 System.out.println("用户名或密码不正确,请重新输入,您的登录次数还有" + (2 - x) + "次!");
  44.                         }
  45.                 }
  46.         }
  47. }
  48. public class User {
  49.         private String userName;
  50.         private String userPassword;

  51.         public User() {
  52.                 super();
  53.                 // TODO Auto-generated constructor stub
  54.         }

  55.         public String getUserName() {
  56.                 return userName;
  57.         }

  58.         public void setUserName(String userName) {
  59.                 this.userName = userName;
  60.         }

  61.         public String getUserPassword() {
  62.                 return userPassword;
  63.         }

  64.         public void setUserPassword(String userPassword) {
  65.                 this.userPassword = userPassword;
  66.         }

  67.         /**
  68.          *
  69.          * @param name
  70.          *            用户名
  71.          * @param password
  72.          *            密码
  73.          * @return 用户登录是否成功
  74.          */
  75.         public boolean isLogin(String userName, String userPassword) {
  76.                 return this.userName.equals(userName)
  77.                                 && this.userPassword.equals(userPassword);
  78.         }
  79. }
复制代码
:)
作者: Gyx    时间: 2015-1-19 22:59
大赞!!
作者: 梁小刀11    时间: 2015-1-19 23:52
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
这两句的位置是不是应该调换一下? System.in是阻塞方法把,不按回车键是不会执行下一步的.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2