wordcount java分析_WordCount-JAVA

Gitee项目地址

https://gitee.com/zhang55/codes/jqrv52zat8og4ndc1s60798

解题思路

WordCount功能为统计文件中信息,主要涉及的知识为文件IO流和对字符串的处理。选择了最近新了解不太熟悉的java完成。

程序要求在控制台输入参数后运行,所以编程时将输入的参数存入args[]中进行逐个判断。

程序主要功能是要完成对指定文本内的字符数、单词总数和行数进行统计,基本功能还是很简单,由于时间问题,只完成了最基本的功能。

在过程中遇到很多的问题,百度一下,你就知道。

程序实现及代码说明

实现代码主要创建了了三个类,是一些很基本的操作,具体代码如下。

代码说明

1.实现统计字数

public static int charNum(String fileName) throws IOException {

while((tempChar = reader.read())!=-1)

{

//判断是不是回车

if (tempChar==13||tempChar==10||tempChar==9)

charCount++;

character=(char)tempChar;

}

reader.close();

}

2.实现统计行数

public static int lineNum(String fileName) throws IOException{

reader=new BufferedReader(new FileReader(file));

String tempString =null;

int line =0;

while((tempString=reader.readLine())!=null)

{

line++;

}

reader.close();

return line;

}

3.统计字符个数

public static int wordsNum(String fileName) throws IOException {

while((tempChar=reader.read())!=-1) {

if(tempChar>=65&&tempChar<=90||(tempChar>=97&&tempChar<=122)) {

isChar=true;

}else {

if(isChar=true)

{

isChar=false;

wordCount++;

}

continue;

}

}

4.主函数

public static void main(String[] args) {

if (args.length > 1) {

int last = args.length - 1;

String name = args[last];

String outputName = "";

String tmp;

int flag = 0;

WordCount wc=new WordCount();

for (int i = 0; i < last; i++)

if (args[i].equals("-o")) {

flag = 1;

name = args[last - 2];

outputName = args[last];

break;

}

for (int i = 0; i < last; i++)

if (args[i].equals("-c")) {

System.out.println(wc.charNum( name));

} else if (args[i].equals("-w")) {

System.out.println(wc.wordsNum( name ));

} else if (args[i].equals("-l")) {

System.out.println(wc.lineNum( name));

}

}

测试:

a9efa04a47bdcea99a1778fb580d3906.png

23e17c96c477571835c9e915dba15743.png

d2e6cbe03bb81c7d6b42d95bfacb7fc8.png

31e8f294ffe36c7a4d709bdc0bc70bcf.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值