zoukankan      html  css  js  c++  java
  • 【作业】飘-字单词统计

    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 Scanner(frw);
                while(inw.hasNext())
                {
                    wlist.add(inw.next());
                }
            }
            catch(Exception e)
            {
                
            }
            int flag=-1;
            int flag2=0;//1 单词 2 字母 3 单词前 4 字母前 5 退出
            int xianshi=-1,xianshi2=-1;
            String word="";
            String line="";
            try
            {
                Scanner input=new Scanner(System.in);
                FileReader fr=new FileReader("piao.txt");
                Scanner in =new Scanner(fr);
                do
                {
                    
                        System.out.println("请选择:1 单词 2 字母 3 单词前n 4 字母前n 5 退出 6 短语");
                        flag2=input.nextInt();
                        if(flag2==5)
                        {
                            break;
                        }
                        if(flag2==3||flag2==4)
                        {
                            System.out.println("请输入数量:");
                            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;
        }
    }
  • 相关阅读:
    Struts整合Spring3时注意
    Android组件通讯之BroadcastReceiver应用闹钟服务
    Android组件通讯之Pending Intent与Notification
    Android组件通讯之Service的基础绑定
    Android网络编程之Web Service初步(服务器端搭建)
    Android数据存储之ContentProvider调用联系人数据
    Android网络编程之Socket方式上传对象序列化文件(服务器端)
    Android组件通讯之可跨进程的远程Service调用
    Android网络编程之Web Service初步(客户端)
    Android网络编程之Socket方式上传对象序列化文件(客户端)
  • 原文地址:https://www.cnblogs.com/CCRNRT/p/11070512.html
Copyright © 2011-2022 走看看