【发布时间】:2015-08-11 18:23:57
【问题描述】:
这个程序需要从1个文本文件中读取“信用卡”号码,将它们与第二个进行比较,如果匹配,则将其与第三个进行比较,然后显示所有3个匹配的号码。
我遇到了很多麻烦,不知道出了什么问题。任何帮助将不胜感激。
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.FileReader;
import java.io.BufferedReader;
public class Search {
public static void main(String[] args) throws IOException { //main method
boolean match = false;
String creditNumber = null;
BufferedReader reader1 = new BufferedReader(new FileReader("creditCards1.txt"));
creditNumber = reader1.readLine();
while(match = false & creditNumber != null){
System.out.println(creditNumber);
boolean confirm = false;
confirm = searchTwo(creditNumber);
if(confirm == true){
confirm = searchTwo(creditNumber);
System.out.println(confirm);
break;
}
reader1.close();
}
}
public static boolean searchTwo(String creditNumber) throws IOException { //method for searching the 2nd text file
boolean match = false;
String creditNumber2 = null;
BufferedReader reader2 = new BufferedReader(new FileReader("creditCards2.txt"));
creditNumber2 = reader2.readLine();
while(match = false & creditNumber != null){
boolean confirm = false;
confirm = searchThree(creditNumber2);
if(confirm == true & creditNumber2.equals(creditNumber)){
match = true;
System.out.println(creditNumber2);
}
creditNumber2 = reader2.readLine();
}
reader2.close();
if(match = true || creditNumber2 == null){
return match;
}
return match;
}
public static boolean searchThree(String creditNumber) throws IOException { //method for searching the 3rd text file
boolean match = false;
String creditNumber3 = null;
BufferedReader reader3 = new BufferedReader(new FileReader("creditCards3.txt"));
creditNumber3 = reader3.readLine();
while(match = false & creditNumber != null){
if(creditNumber3.equals(creditNumber)){
match = true;
break;
}
creditNumber3 = reader3.readLine();
}
reader3.close();
if(match = true || creditNumber3 == null){
return match;
}
return match;
}
}
【问题讨论】:
-
你卡在哪里了?您是否收到任何错误/异常?您必须提供更多详细信息
-
你是只搜索所有文件中第一个匹配的信用卡,还是搜索所有3个文件中的所有信用卡(不止一个)?
-
我只是没有得到任何输出。即使是第一个
System.out.println(creditNumber);在程序运行时也不会打印。我搜索每个文件中的每个数字以查看它们是否匹配。基本上它是 3 个文本文档,每行都有一个新的 cc 编号。