Java 文件统计:编写程序,统计英文文本文件中的字符数目和单词数目。程序运行时,输入要统计的文件的名称,程序处理后输出字符数目和单词数目

package text6;

import java.util.*;
import java.io.File;
import java.io.FileReader;

import javax.swing.JOptionPane;

class tongji {
   public static void main( String[ ] args ) throws Exception {
	   String str = JOptionPane.showInputDialog("请输入字符串(例如:text6.txt):");
	   File file = new File(str);
       FileReader reader = new FileReader(file);
       int length = (int)file.length();
       char[] chars = new char[length];
       reader.read(chars);
       reader.close();
       String s = String.valueOf(chars);
       
       int count = 0;
       int n = chars.length;
       for(int i = 0; i < n ; i++)
       {
    	   if(chars[i] >= 'a' && chars[i] <= 'z')
    	   {
    		   count ++;
    	   }
       }
	   
       String[ ] words = s.replaceAll( "[^a-zA-Z]+", " " ).trim( ).split( " " );

       if ( words.length > 0 ) {
           TreeSet<Integer> lengths = new TreeSet<Integer>( ); 

           for ( String word: words )
               lengths.add( word.length( ) );
           JOptionPane.showMessageDialog(null, "字符数:"+String.valueOf(count) +"\n"+"单词数:"+String.valueOf(words.length));
       } 
       else 
           JOptionPane.showMessageDialog(null, "字符数:0"+"\n"+"单词数:0");
   } 
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值