首先是做一个用户登录的小案例。在此基础上加入其它逻辑。 import java.util.Scanner; /* * 模拟登录,给三次机会,并提示还有几次。如果登录成功,就可以玩猜数字小游戏了。 * * 分析: * A:定义用户名和密码。已存在的。 * B:键盘录入用户名和密码。 * C:比较用户名和密码。 * 如果都相同,则登录成功 * 如果有一个不同,则登录失败 * D:给三次机会,用循环改进,最好用for循环。 */ public class StringTest2 { public static void main(String[] args) { // 定义用户名和密码。已存在的。 String username = "admin"; String password = "admin"; // 给三次机会,用循环改进,最好用for循环。 for (int x = 0; x < 3; x++) { // x=0,1,2 // 键盘录入用户名和密码。 Scanner sc = new Scanner(System.in); System.out.println("请输入用户名:"); String name = sc.nextLine(); System.out.println("请输入密码:"); String pwd = sc.nextLine(); // 比较用户名和密码。 if (name.equals(username) && pwd.equals(password)) { // 如果都相同,则登录成功 System.out.println("登录成功,开始玩游戏"); //猜数字游戏 GuessNumberGame.start(); break; } else { // 如果有一个不同,则登录失败 // 2,1,0 // 如果是第0次,应该换一种提示 if ((2 - x) == 0) { System.out.println("帐号被锁定,请与班长联系"); } else { System.out.println("登录失败,你还有" + (2 - x) + "次机会"); } } } } }
接下来改进一下代码。加入一些逻辑——当用户登录成功之后,进行猜数字小游戏。
import java.util.Scanner; //模拟登录,给三次机会,并提示还有几次。如果登录成功,就可以玩猜数字小游戏了。 public class StringTest2 { public static void main(String[] args) { // 定义用户名和密码。已存在的。 String username = "admin"; String password = "admin"; // 给三次机会,用循环改进,最好用for循环。 for (int x = 0; x < 3; x++) { // x=0,1,2 // 键盘录入用户名和密码。 Scanner sc = new Scanner(System.in); System.out.println("请输入用户名:"); String name = sc.nextLine(); System.out.println("请输入密码:"); String pwd = sc.nextLine(); // 比较用户名和密码。 if (name.equals(username) && pwd.equals(password)) { // 如果都相同,则登录成功 System.out.println("登录成功,开始玩游戏"); //猜数字游戏 GuessNumberGame.start(); break; } else { // 如果有一个不同,则登录失败 // 2,1,0 // 如果是第0次,应该换一种提示 if ((2 - x) == 0) { System.out.println("帐号被锁定,请与班长联系"); } else { System.out.println("登录失败,你还有" + (2 - x) + "次机会"); } } } } }猜数字小游戏的代码另写在一个类里面。
mport java.util.Scanner; /* * 这时猜数字小游戏的代码 */ public class GuessNumberGame { private GuessNumberGame() { } public static void start() { // 产生一个随机数 int number = (int) (Math.random() * 100) + 1; while (true) { // 键盘录入数据 Scanner sc = new Scanner(System.in); System.out.println("请输入你要猜的数据(1-100):"); int guessNumber = sc.nextInt(); // 判断 if (guessNumber > number) { System.out.println("你猜的数据" + guessNumber + "大了"); } else if (guessNumber < number) { System.out.println("你猜的数据" + guessNumber + "小了"); } else { System.out.println("恭喜你,猜中了"); break; } } } }
编译运行,挺好玩的小案例。