我有一个程序,允许用户将观察结果输入 CSV 文件并保存。我希望能够读取文件并且只打印出用户搜索的观察结果。(例如,用户输入“planet”并打印出所有包含 Planet 的行。我当前的代码打印出整个文件,而不仅仅是指定的行。我无法设置逻辑语句来执行此操作。
这是我的代码:
void findbird() throws IOException{
Scanner input = new Scanner(System.in);
System.out.println("Please enter the type of bird you wish to search for");
String bird;
bird = input.next();
System.out.println("All observations of " + bird + "s:");
BufferedReader br = new BufferedReader(new FileReader("birdobservations.txt"));
String dataRow = br.readLine();
boolean contains = bird.toLowerCase().contains(dataRow.toLowerCase());
while (dataRow != null){
String[] dataArray = dataRow.split(",");
for (String item:dataArray) {
if(contains = true){
System.out.print(item + "\t");
}else{
System.out.println("No observations of " + bird + " found!");
}
}
System.out.println();
dataRow = br.readLine();
}
br.close();
System.out.println();
menu();
}
我的输出目前看起来像这样:
请输入您要搜索的鸟类类型
乌鸦
乌鸦的所有观察:乌鸦 X 卑尔根 May2015
啄木鸟 M 奥斯陆 2012 年 7 月
蜂鸟 M Kaupanger 2015 年 12 月
而我只想打印出来:
乌鸦 X 卑尔根 2015 年 5 月