《java入门第一季》之类小案例(模拟用户登录)

首先是做一个用户登录的小案例。在此基础上加入其它逻辑。

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;
			}
		}
	}
}

编译运行,挺好玩的小案例。

原文地址:https://www.cnblogs.com/wanghang/p/6299834.html