【发布时间】:2016-01-15 10:28:55
【问题描述】:
我编写了两段单独的代码。现在我想合并两段代码。现在一部分打开一个文本文件并显示文本文件的内容,第二段代码验证手动输入的邮政编码。现在我想读取一个文本文件,然后自动验证文本文件中的邮政编码。不知道如何合并它们。有任何问题请在我卡住时提出。
package postcodesort;
import java.util.*;
import java.util.Random;
import java.util.Queue;
import java.util.TreeSet;
import java.io.File;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedList;
import java.util.StringTokenizer;
public class PostCodeSort
{
Queue<String> postcodeStack = new LinkedList<String>();
public static void main(String[] args) throws IOException
{
FileReader fileReader = null;
// Create the FileReader object
try {
fileReader = new FileReader("postcodes1.txt");
BufferedReader br = new BufferedReader(fileReader);
String str;
while((str = br.readLine()) != null)
{
System.out.println(str + "");
}
}
catch (IOException ex)
{
// handle exception;
}
finally
{
fileReader.close();
}
// Close the input
}
}
手动验证邮政编码的第二部分:
List<String> zips = new ArrayList<String>();
//Valid ZIP codes
zips.add("SW1W 0NY");
zips.add("PO16 7GZ");
zips.add("GU16 7HF");
zips.add("L1 8JQ");
//Invalid ZIP codes
zips.add("Z1A 0B1");
zips.add("A1A 0B11");
String regex = "^[A-Z]{1,2}[0-9R][0-9A-Z]? [0-9][ABD-HJLNP-UW-Z]{2}$";
Pattern pattern = Pattern.compile(regex);
for (String zip : zips)
{
Matcher matcher = pattern.matcher(zip);
System.out.println(matcher.matches());
}
【问题讨论】:
-
尝试更具体地提出问题并解释您所面临问题的背景,以便其他人可以解决您的问题。
-
我还在你的 sn-p 中发现了很多不必要的代码。比如
String inputFileName = "postcodes1.txt";如果直接给文件名上面的语句有什么用? -
文件中有什么?它有你在第二个 sn-p 中的邮政编码吗?
-
没有足够的信息来回答您的问题。这 2 段代码是在 2 个单独的类中还是只有 1 个?它们在同一个包中吗?
-
合并不应该是你的目标,将第二个 sn-p 提取到一个 ZipCodeValidator 类中。