字符串和随机数小案例:模拟用户登录,登录成功后可以玩猜数字游戏
public class Demo1 {
public static void main(String[] args) {
//1.定义已知的用户名和密码
String username="admin";
String password="123";
for(int i=0;i<3;i++) {//循环控制录入的次数,用户有3次机会
//2.键盘录入用户名和密码
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String name=sc.nextLine();
System.out.println("请输入密码:");
String pwd=sc.nextLine();
//3.比较用户名和密码
if (name.equals(username) && pwd.equals(password)) {
System.out.println("登录成功,开始玩猜数字游戏");
GuessNumGame.start();
break;//在循环次数以内登录成功,就退出循环
}else{
if(i==2) {
System.out.println("对不起,您的账号已被绑定");
}else {
System.out.println("登录失败,您还有:"+(2-i)+"次机会");
}
}
}
}
}
guessNumGame工具类代码如下:
public class GuessNumGame {
private GuessNumGame() {
}
public static void start() {
//1.产生一个随机数
int num=(int) (Math.random()*100+1);
//2.定义一个计数器,记录猜了多少次
int count=0;
//3.键盘录入一个数,循环录入,直到猜中为止,结束循环
while(true) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要猜的数(1-100之间):");
int guessNum=sc.nextInt();
count++;
//4.比较判断
if (guessNum>num) {
System.out.println("你猜的数"+guessNum+"大了");
}else if (guessNum<num) {
System.out.println("你猜的数"+guessNum+"小了");
}else {
System.out.println("你猜了"+count+"次了,恭喜你猜对了");
break;
}
}
}
}
运行结果如下:
请输入用户名:
zhansan
请输入密码:
123
登录失败,您还有:2次机会
请输入用户名:
lisi
请输入密码:
123
登录失败,您还有:1次机会
请输入用户名:
admin
请输入密码:
123
登录成功,开始玩猜数字游戏
请输入你要猜的数(1-100之间):
50
你猜的数50大了
请输入你要猜的数(1-100之间):
25
你猜的数25大了
请输入你要猜的数(1-100之间):
12
你猜的数12大了
请输入你要猜的数(1-100之间):
6
你猜了4次了,恭喜你猜对了