字符串匹配问题
代码是这样的:
public void display() throws
IOException{
System.out.print("Enter keyword:");
Scanner scan = new Scanner(System.in);
String s =scan.nextLine();
//System.out.println(s.toString());
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream("d:/record.txt")));
String line = null;
while((line=in.readLine())!=null){
if(line.contains(s));
{System.out.println(line.toString());
}}
意思是这样:
随便输入一个字符串s,看它是否是字符串line的子字符串,若是,这输出line字符串。line字符串是txt文件里一堆的记录。
------解决方案--------------------没有看出来有什么问题哦
------解决方案--------------------可能有些特别字符如 /,.等
------解决方案--------------------if ( line.contains( s ) )
;
这行多打了分号,低级错误,debug一跟就出来了。
------解决方案--------------------if(line.contains(s));
后面多了个分号;表示满足if条件的话,什么也不做
于是后面的{System.out.println(line.toString());}就和if脱离了关系,变成无条件输出
所以造成结果不对