• 英语单词统计


    能够实现单词个数统计和字母个数统计 并且将这些导入文本中

    public static void main(String[] args)throws IOException//扔掉很重要
    {
          // 新文件
            File newFile = new File("E:\\eclipse-workspace\\2.0\\src\\英语单词统计\\计算结果.txt");
            int count_xiao = 0,count_da=0;
            // 读取文件内容
            File file = new File("E:\\eclipse-workspace\\2.0\\src\\英语单词统计\\Harry Potter.txt");
            BufferedReader reader = new BufferedReader(new FileReader(file));//读取数据
            StringBuffer sb = new StringBuffer();//对字符串进行修改 并且可以进行多次修改 并且不产生新的未使用对象
            String line = null;//行数
            while ((line = reader.readLine()) != null) {
                sb.append(line);//之间的简单相加
            }
            reader.close();
            // 统计大小写字母个数
           
            for (int i = 0; i < sb.length(); i++) {
                char ch = sb.charAt(i);//读取第i个字母
                if ((ch >= 'a' && ch <= 'z') ) {
                    count_xiao ++;
                }
                else if ( (ch >= 'A' && ch <= 'Z')) {
                    count_da ++;
                }
            }
            System.out.println("小写个数:"+count_xiao);
            System.out.println("大写个数:"+count_da);
            //计算单词个数
            int sum_dan=1;
            for (int i = 0; i < sb.length(); i++) {
                char ch = sb.charAt(i);//读取第i个字母
                //如果有空格逗号句号空格换行冒号就是一个新的单词
                if (ch<'A'||(ch>'Z'&&ch<'a')||ch>'z'){
                    sum_dan ++;
                    char c=sb.charAt(i+1);
                    if (c<'A'||(c>'Z'&&c<'a')||c>'z')
                    {
                     sum_dan--;
                    }
                }
               
            }
            System.out.println("单词个数:"+sum_dan);
            String s;
            String[] buffer=null ;
            int[] sum_geshu;
            sum_geshu=new int[(int) sum_dan];
            for (int i = 0; i < sb.length(); i++)
            {   s=reader.readLine();
          while(s!=null)
          {buffer=s.split("\\s+");
          }
            }
            reader.close();
            for(int i=0;i<sum_dan;i++)
            {
             for(int j=i+1;j<sum_dan;j++)
             {
              if(buffer[i]==buffer[j])
              {
               sum_geshu[i]=0;
               sum_geshu[i]=sum_geshu[i]+1;
               buffer[j]=null;
               sum_geshu[j]=0;
              }
             }
            }
            for(int i=0;i<sum_dan;i++)
            {
             System.out.print(buffer[i]+":"+sum_geshu[i]);
            }
            FileOutputStream out = new FileOutputStream(newFile);
            out.write(String.valueOf(count_xiao).getBytes());
            out.write(String.valueOf(count_da).getBytes());
            out.write(String.valueOf(sum_dan).getBytes());
            out.flush();
            out.close();
    }
  • 相关阅读:
    Ajax学习笔记(1)
    html学习笔记(2)-字母大小写转换练习
    html学习笔记(1)--处理特殊字符以及其他的一些小细节
    jQuery学习笔记(8)--表格筛选
    jQuery学习笔记(7)--表格展开关闭
    Linux学习8-Linux常用命令(4)
    Linux学习7-Linux常用命令(3)
    Linux学习6-Linux常用命令(2)
    Linux学习6-Linux常用命令(1)
    Linux学习5-初学者注意事项
  • 原文地址:https://www.cnblogs.com/smartisn/p/9775548.html
Copyright © 2020-2023  润新知