编程作业
这个作业属于哪个课程 | 班级的链接 |
---|---|
这个作业要求在哪里 | 作业要求的链接 |
这个作业的目标 | 学会git的使用方法,完成编程设计 |
学号 | 20188405 |
Github地址:
(https://gitee.com/J-Z/blog-garden)
(https://gitee.com/J-Z/blog-garden/tree/master/20188405)
PSP表格:
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
· Estimate | · 估计这个任务需要多少时间 | 30 | 20 |
Development | 开发 | ||
· Analysis | · 需求分析 (包括学习新技术) | 100 | 130 |
· Design Spec | · 生成设计文档 | 20 | 30 |
· Design Review | · 设计复审 | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 40 | 40 |
· Design | · 具体设计 | 40 | 50 |
· Coding | · 具体编码 | 100 | 120 |
· Code Review | · 代码复审(测试,修改代码,提交修改) | 200 | 210 |
Reporting | 报告 | ||
· Test Repor | · 测试报告 | 30 | 30 |
· Size Measurement | · 计算工作量 | 30 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 10 |
合计 | 610 | 690 |
代码规范
统计英语单词
public static void main(String[] args) {
List<String> wordsList=new ArrayList<String>();//用来存储不重复的单词的集合
@SuppressWarnings("resource")
Scanner input=new Scanner(System.in);
System.out.println("输入英文句子,句子中只有英文单词和空格:");
String sentence=input.nextLine();
String []words=sentence.split(" ");//分割字符串
for(String word:words){//遍历字符串数组
word=word.toLowerCase();//将单词转换成小写
//判断集合中是否已存有不区分大小写的相同字符串,同时判断字符串是否是空串
if(!wordsList.contains(word)&&!word.equals(""))
wordsList.add(word);//将字符串存储到集合中
}
System.out.println("共出现"+wordsList.size()+"个单词。");
}
}
统计字符串
try {
br = new BufferedReader(new FileReader("C:\\Users\\acer\\Desktop\\gamemake\\game_development\\1.txt"));
while ((str = br.readLine()) != null) {
sb.append(str);
++line;
}
System.out.println("\n行数: " + line);
System.out.println("\n内容: " + sb.toString());
TreeMap<Character, Integer> tm = Pross(sb.toString());
System.out.println("\n字符统计:" + tm);
} catch (FileNotFoundException e) {
//封装放置在设置的变量e里
e.printStackTrace();
} catch (IOException e) {
//将错误抛出放置在变量e中
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
统计输出前十出现的英语单词
public int compare(Map.Entry<String, Integer> obj1, Map.Entry<String, Integer> obj2)
{
return ((Integer) obj2.getValue()).compareTo((Integer) obj1.getValue());
}
});
// 输出次数前10的单词
List<Map.Entry<String, Integer>> list = arraylist.subList(0, 10);
System.out.println("出现频率前10的单词:");
for (Map.Entry<String, Integer> item : list)
System.out.println(item.getKey() + "=" + item.getValue());
}
参考CSDN链接:
(https://blog.csdn.net/u014108439/article/details/53065380)(https://blog.csdn.net/li4562258fj155/article/details/51489886?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase)
心路历程和收获
这次的作业让我久违的打开了我的eclipse和我的Java开发实战经典这本书。我也学到了BufferedReader和BufferedWriter输入和输出流的使用方法,温习了很多东西,但是我尝试封装失败,完全忘记封装部分的知识,希望后续在这次作业之后能慢慢的拾回来,刚看完本次作业的题目的时候,我整个人都是懵逼的,大脑一片空白,但是通过慢慢的适应,才能去进行本次作业的完成,虽然没有完成到百分百符合要求。。。。。
也温习了OutputStreamWriter类和InputStreamReader类将输入输出字节字符相互转化为输出和输入对象总的来说还是颇有收获