package piao; import java.io.FileReader; import java.util.Scanner; import java.util.ArrayList; import ci.Ci; public class piao2 { public static void main(String[] args) { ArrayList<Ci> list=new ArrayList<Ci>(); ArrayList<String>wlist=new ArrayList<String>(); try { FileReader frw=new FileReader("wu.txt"); Scanner inw =new new Scanner (Treated with FRW Fire); the while (inw.hasNext ()) { wlist.add (inw.next ()); } } the catch (Exception E) { } int In Flag = -1 ; int FLAG2 = 0; // . 1 word 2 3-letter words before the first four letters exit 5 int xianshi = -1, -1 = xianshi2 ; String Word = "" ; String Line = "" ; the try { Scanner INPUT = new new Scanner (the System.in); the FileReader fr= New new the FileReader ( "piao.txt" ); Scanner in = new new Scanner (fr); do { System.out.println ( "Please select: 2 1-letter word letter in front of the front 3 n 4 n 5 word phrases exit 6" ) ; FLAG2 = input.nextInt (); IF (FLAG2 ==. 5 ) { BREAK ; } IF (FLAG2. 3 == == || FLAG2. 4 ) { System.out.println ( "enter number:" ); xianshi =input.nextInt(); } if(flag2==1||flag2==3)//单词 { in.useDelimiter("[ \",.?':;'!-]"); while(in.hasNext()) { word=in.next(); //System.out.println(word); if(ifWord(word)) { if(ifWu(wlist,word)) { Ci ci=new Ci(word); //查重 flag=-1; for(int i=0;i<list.size();i++) { if(equal(ci,list.get(i))) { flag=i; break; } else { flag=-1; } } if(flag>=0) { ci.setNumber(list.get(flag).getNumber()+1); list.set(flag, ci); } else { list.add(ci); } } } } } if(flag2==2||flag2==4) { while(in.hasNext()) { line=in.nextLine(); //System.out.println(word); for(int k=0;k<line.length();k++) { char c=line.charAt(k); if(((c>='a'&&c<='z')||(c>='A'&&c<='Z'))) { Ci ci=new Ci(String.valueOf(line.charAt(k))); //查重 flag=-1; for(int i=0;i<list.size();i++) { if(equal(ci,list.get(i))) { flag=i; break; } else { flag=-1; } } if(flag>=0) { ci.setNumber(list.get(flag).getNumber()+1); list.set(flag, ci); } else { list.add(ci); } } } } } if(flag2==6) { } while(in.hasNext()) { word=in.next(); //System.out.println(word); if(ifWord(word)) { Ci ci=new Ci(word); //查重 flag=-1; for(int i=0;i<list.size();i++) { if(equal(ci,list.get(i))) { flag=i; break; } else { flag=-1; } } if(flag>=0) { ci.setNumber(list.get(flag).getNumber()+1); list.set(flag, ci); } else { list.add(ci); } } } /*for(int i=0;i<list.size();i++) { list.get(i).show(); }*/ int t,k; for(t=0;t<list.size()-1;t++) { for(k=0;k<list.size()-t-1;k++) { if(!DX(list.get(k),list.get(k+1))) { Ci ci1=new Ci(list.get(k).getWord(),list.get(k).getNumber()); Ci ci2=new Ci(list.get(k+1).getWord(),list.get(k+1).getNumber()); list.set(k, ci2); list.set(k+1, ci1); } } } //显示 if(xianshi<0) { xianshi2=list.size(); } else { xianshi2=xianshi; } for(int i=0;i<xianshi2;i++) { list.get(i).show(); } }while(flag2!=5); } catch(Exception e) { } } public static Boolean DX(Ci a,Ci b) { if(a.getNumber()>=b.getNumber()) { return true; } else { return false; } } public static Boolean equal(Ci a,Ci b) { if(a.getWord().equals(b.getWord())) { return true; } else { return false; } } public static Boolean ifWu(ArrayList<String> wlist,String s)//无用词 { Boolean flag=true; for(int i=0;i<wlist.size();i++) { if(wlist.get(i).equals(s)) { flag=false; } } return flag; } public static Boolean ifWord(String s)//是否为单词 { Boolean flag=true; char c; if(s.equals(" ")||s.equals("")) { return false; } for(int i=0;i<s.length();i++) { c=s.charAt(i); if(!((c>='a'&&c<='z')||(c>='A'&&c<='Z'))) { flag=false; } } return flag; } public static Boolean ifZiMu(char c)//是否为字母 { Boolean flag=true; if(!((c>='a'&&c<='z')||(c>='A'&&c<='Z'))) { flag=false; } return true; } }