字符串匹配问题
代码是这样的:
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脱离了关系,变成无条件输出
所以造成结果不对