黑马程序员技术交流社区

标题: 一个java的黑马考试题,关于验证码的 [打印本页]

作者: huihui520111    时间: 2016-9-5 00:01
标题: 一个java的黑马考试题,关于验证码的
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;



public class Test00 {

        /*
         * 实现一个验证码小程序,要求如下:
                        1.        在项目根目录下新建一个文件:data.txt,键盘录入3个字符串验证码,并存入data.txt中,要求一个验证码占一行;
                        2.        键盘录入一个需要被校验的验证码,最多只能输入3次,如果输入的验证码在data.txt中存在:在控制台提示验证成功,
                        并结束程序,如果输入的验证码在文件中不存在,当输入次数小于3时,控制台提示"验证失败",并可继续输入下次验证;
                        当输入次数等于3时,控制台提示"错误输入超过3次,请明天再登陆",并结束程序
         */
       
        public static void main(String[] args) throws Exception {
                //键盘录入3个字符串验证码
                //setMa();
                //输入一个字符串,验证
                yanzheng();
               
               
        }

        private static void yanzheng() throws FileNotFoundException, IOException {
                //读取三个验证码
                BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("data.txt")));
                String[] arr = new String[3];
                for (int i = 0; i < arr.length; i++) {
                        arr[i] = br.readLine();
                }
                //输入一个验证码
                Scanner sc = new Scanner(System.in);
                System.out.println("输入一个验证码");
               
               
                int j=0;
                while(j<3){
                        String str = sc.nextLine();
                        for (int i = 0; i < arr.length; i++) {
                                if(str.equals(arr[i])){
                                        System.out.println("验证成功!!");
                                        return;
                                }
                        }
                        System.out.println("验证失败");
                        j++;
                        if( j == 3){
                                System.out.println("错误输入超过3次,请明天再登陆");
                               
                        }
                }
               
        }

        //输入三个验证码。写出到文本
        private static void setMa() throws FileNotFoundException {
                PrintWriter ps = new PrintWriter(new FileOutputStream("data.txt"));
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入三个验证码");
                int  i = 0;
                while(i<3){
                        String str = sc.nextLine();
                        if(str ==null){
                                System.out.println("输入为空,请重新输入。");
                        }else {
                                ps.println(str);
                                i++;
                               
                        }
                }
                ps.close();
        }
       
       
}




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