作业2

---恢复内容开始---

1.

Fork 码云项目 https://gitee.com/SE-net16/PersonalProject-C
https://gitee.com/SE-net16/PersonalProject-Java 到自己的仓库,在自己的码云仓库中新建一个学号命名的文件夹。

 

在文章开头给出博客作业要求地址,码云项目地址。

博客地址:https://www.cnblogs.com/ysm0301/

码云项目地址:https://gitee.com/YeHei/PersonalProject-Java/tree/master

 

2.PSP表格

  1. PSP2.1个人开发流程预估耗费时间(分钟)实际耗费时间(分钟)
    Planning 计划 15 10
    · Estimate 明确需求和其他相关因素,估计每个阶段的时间成本 30 40
    Development 开发 200 150
    · Analysis 需求分析 (包括学习新技术) 60 60
    · Design Spec 生成设计文档 60 50
    · Design Review 设计复审 10 15
    · Coding Standard 代码规范 10 10
    · Design 具体设计 45 35
    · Coding 具体编码 120 140
    · Code Review 代码复审 30 20
    · Test 测试(自我测试,修改代码,提交修改) 20 25
    Reporting 报告 60 50
    · 测试报告 15 10
    · 计算工作量 5 5
    · 并提出过程改进计划 10 15

3.解题思路

  1.采用的是java语言进行实现

  2.首先想到的是代码要具有读写文本文档的能力,用到大概就是FileReader之类的,之后统计等的用的就是字符串的判断这样

 

4.关键代码

package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/*
* InputStreamReader(new FileInputStream(绝对文件名))进行文件的读取
* BufferedReader(文件读取)调用readLine()的方法
*/

public class test {

public static void main(String[] args) throws Exception {
// 统计一个文件的字符数,单词数,行数
Scanner input = new Scanner(System.in);
String path = "F:\\软工\\1.txt";
int countChar = 0;
int countword = 0;
int countline = 0;
InputStreamReader isr = new InputStreamReader(new FileInputStream(path));//用来读取文件中的数据
BufferedReader br = new BufferedReader(isr);//使用缓冲区,可以使用缓冲区的read(),readLine()方法;
/*readLine每次读取一行,read()读取整个文件,是生成文件内容最直接的方式,如果连续面向行的处理则是没有必要的
可直接综合为
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
*/
while(br.read()!=-1)//read()=-1代表数据读取完毕
{
String s = br.readLine();
countChar += s.length();//字符个数就是字符长度
countword += s.split(" ").length;//split() 方法用于把一个字符串分割成字符串数组,字符串数组的长度,就是单词个数
countline++;//因为是按行读取,所以每次增加一即可计算出行的数目
}
isr.close();//关闭文件
System.out.println("characters "+ ":"+countChar);
System.out.println("words "+":"+countword );
System.out.println("lines"+":"+countline);
}
}

 

 

5.测试

 

 

6.总结思考

  这次的实验对于我来说难度较大,一开始没有编写好函数导致全盘崩溃,后面直接使用InputStreamReader读取文件一口气输出了行数,单词数以及字符数的信息,但是没能做到词频,希望以后的实验可以更投入。

posted on 2018-09-17 20:36  耶嘿  阅读(176)  评论(2编辑  收藏  举报

导航