import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.List; public class SearchPro { public SearchPro() { // TODO Auto-generated constructor stub this.readFromFile("src/pros.txt"); } /** * @param args * @author frostbelt http://www.cnblogs.com/frostbelt/ */ public static void main(String[] args) { // TODO Auto-generated method stub new SearchPro(); } //从文件读取,判断,输出结果 public void readFromFile(String fileName){ List<String> postList=new ArrayList<String>();//时间在1987/7/1之后的项目 List<String> twList=new ArrayList<String>();//修改两次或以上的项目 List<String> oneList=new ArrayList<String>();//修改一次的项目 String str=null; try{ FileReader f=new FileReader(fileName); BufferedReader ff=new BufferedReader(f); while(ff.ready()){ str=ff.readLine()+" "; String[] onePro=str.split(" "); String data=onePro[1]; if(Integer.valueOf(data.split("/")[0])>1987||(Integer.valueOf(data.split("/")[0])==1987&&Integer.valueOf(data.split("/")[1])>7)||(Integer.valueOf(data.split("/")[0])==1987&&Integer.valueOf(data.split("/")[1])==7&&Integer.valueOf(data.split("/")[2])>1)){ for(int i=postList.size()-1;i>=0;i--){ if(postList.get(i).equals(onePro[0])){ postList.remove(i); } } postList.add(onePro[0]); } if(onePro[2].equals("是")){ for(int i=twList.size()-1;i>=0;i--){ if(twList.get(i).equals(onePro[0])){ break; } } for(int i=oneList.size()-1;i>=0;i--){ if(oneList.get(i).equals(onePro[0])){ twList.add(onePro[0]); oneList.remove(i); break; } } oneList.add(onePro[0]); } } }catch(Exception e) { e.printStackTrace(); } System.out.println("时间在1987/7/1之后的项目:"); for(int i=0;i<postList.size();i++){ System.out.println(postList.get(i)); } System.out.println("修改次数超过两次的项目:"); for(int i=0;i<twList.size();i++){ System.out.println(twList.get(i)); } } }