分析以下需求,并用代码实现
-
实现一个验证码小程序,要求如下: 1. 在项目根目录下新建一个文件:data.txt,键盘录入3个字符串验证码,并存入data.txt中,要求一个验证码占一行; 2. 键盘录入一个需要被校验的验证码 如果输入的验证码在data.txt中存在:在控制台提示验证成功,如果不存在控制台提示验证失败
思路
-
1.键盘录入三个验证码用字符串接收 2.创建输出流对象关联data.txt 3.将三个验证码写入data.txt当中, 关闭输出流 4.键盘录入一个需要校验的验证码并用字符串接收 5.创建输入流对象关联data.txt 6.创建集合对象 7.读取data.txt 将读取到的数据存储到集合中 8.使用集合调用contains方法, 将需要校验的字符串传入 9.根据返回的结果, 打印是否存在
代码
package com.itheima;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) throws IOException {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 键盘录入三个验证码用字符串接收
System.out.println("请输入第一个验证码:");
String s1 = sc.nextLine();
System.out.println("请输入第二个验证码:");
String s2 = sc.nextLine();
System.out.println("请输入第三个验证码:");
String s3 = sc.nextLine();
// 创建输出流对象关联data.txt
BufferedWriter bw = new BufferedWriter(new FileWriter("data.txt"));
// 将三个验证码写入data.txt当中, 关闭输出流
bw.write(s1);
bw.newLine();
bw.write(s2);
bw.newLine();
bw.write(s3);
bw.newLine();
bw.flush();
bw.close();
// 键盘录入一个需要校验的验证码并用字符串接收
System.out.println("请输入需要校验的验证码:");
String s4 = sc.nextLine();
// 创建集合对象
ArrayList<String> array = new ArrayList<String>();
// 读取data.txt 将读取到的数据存储到集合中
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
String line;
while ((line = br.readLine()) != null) {
array.add(line);
}
// 释放资源
br.close();
// 使用集合调用contains方法, 将需要校验的字符串传入
if (array.contains(s4) != true) {
System.out.println("验证失败");
} else {
System.out.println("验证成功");
}
}
}
控制台输出内容