- (计算题, 50分)
某人在玩游戏的时候输入密码 123456 后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程。 提示下面要求:
1.使用 Sysytem.in 包装为字符流读取键盘输入。
2.BufferedReader 对字符流进行包装。调用 BufferedReader 的 readLine()方法每次读取一行。
3.在 for 循环中判断输入的密码是否为“123456”,如果是则打印“恭喜你进入游戏”,并跳出循环,否则继续循环读取键盘输入。
4.当循环完毕,密码还不正确,则打印“密码错误,结束游戏”,并调用 System.exit(0)方法结束程序。
import java.util.*;
import java.io.*;
public class io {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
/*InputStream is = System.in;//键盘输入流
InputStreamReader isr = new InputStreamReader(is);//字节流转换为字符流
BufferedReader bufr = new BufferedReader(isr);//把字符流添加到缓冲流*/
try {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
for(int i=0;i<5;i++)
{
String s=br.readLine();
if(s.equals("123456"))
{System.out.println("恭喜你进入游戏!!!");
break;}
else if(!s.equals("123456"))
{
if(i==4)
{System.out.println("密码错误,结束游戏!");
System.exit(0);}
else
{
System.out.println("密码错误,你还有"+(4-i)+"次机会!");
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
方法二:(没显示还剩多少次机会)
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String password = "";
boolean b = false;
for (int i = 0; i < 5; i++) {
System.out.println("请输入密码:");
password = br.readLine();
if (password.equals("123456")) {
System.out.println("恭喜你进入游戏");
b = true;
break;
}
}
if (!b) {
System.out.println("密码错误,游戏结束");
System.exit(0);
}
}
}